2009年11月30日月曜日

Prototype Window

ライブラリ 
<script type="text/javascript" src="../javascripts/prototype.js"> script> 
<script type="text/javascript" src="../javascripts/effects.js"> script>
<script type="text/javascript" src="../javascripts/window.js"> script>
<script type="text/javascript" src="../javascripts/window_effects.js"> script>
テーマ共通
<link href="../themes/default.css" rel="stylesheet" type="text/css" >link>
テーマ 
<link href="../themes/alphacube.css" rel="stylesheet" type="text/css" >link>
 
<script>
function win(event) {
var x = Event.pointerX(event)
var y = Event.pointerY(event) 
var win = new Window({className: "テーマ", title: "タイトル", width:350, height:400, top: y, left: x}) }
win.show();
win.setAjaxContent(url, {
 parameters: prms 
});
win.setDestroyOnClose();
</script> 
 
http://prototype-window.xilinus.com/ 

2009年11月19日木曜日

CakePHP Validate メッセージに変数を入れるとか

var $validate = array(
'password' => array(
'rule1' => array(
'rule' => 'notEmpty',
),
'rule2' => array(
'rule' => array('minLength', '6'),
),
),
'password_confirm' => array(
'rule1' => array(
'rule'=> array('checkCompare'),
),
),
);

function beforeValidate()
{
$this->validate['password']['rule1']['message'] = MESSAGE_1;
$this->validate['password']['rule2']['message'] = MESSAGE_2;
$this->validate['password_confirm']['rule1']['message'] = MESSAGE_3;
}

2009年11月16日月曜日

Bloggerて

HTMLそのまま表示されるのか。

2009年11月12日木曜日

CakePHP でメール送信

デフォルトのMailコンポーネントでもかなりいいけど。
Qdmailをコンポーネントに入れて使うと、文字化けとか心配しなくていいのがいい。
ついでにQdsmtpをいっしょにComponentに入れると、SMTP送信もすぐできた。
余計な設定が不要なのはナイス。

http://hal456.net/qdmail/smtp

2009年11月11日水曜日

Ajax prototype ボタン押してロード中にクルクルするあれ

<div id="update_div"></div>
<div id="loading_img"><img src="kurukuru.gif"></div>
<button type="button" id="a_button">push</button>

Event.observe('a_button', 'click', function(event) {
new Ajax.Updater('update_div', '/update/contents', {onLoading:function(request) {Element.show('loading_img');Element.hide('a_button')}, onComplete:function(request) {Element.show('a_button');Element.hide('loading_img')}, asynchronous:true, evalScripts:true, requestHeaders:['X-Update', 'update_div']});
}, false);

2009年11月9日月曜日

CakePHP のバリデーション

単純にモデルの$validateを使うなら、saveのタイミングでチェックが入る。
しかし、実用的には、このあたりを使うことになる。
$this->ModelName->set($this->data);

if ($this->ModelName->validates()) {
// it validated logic
} else {
// didn't validate logic
}


if ($this->Model->saveAll($this->data, array('validate' => 'only'))) {
// validates
} else {
// does not validate
}


http://book.cakephp.org/view/410/Validating-Data-from-the-Controller

Google AJAX Libraries API

Ajaxのライブラリを、Googleから読み込む書き方。

<script src="http://www.google.com/jsapi"></script>
<script type="text/javascript">
google.load("prototype", "1.6");
google.load("scriptaculous", "1.8.2");

google.load("jquery", "1.3.1");
google.load("jqueryui", "1.5.3");
</script>

http://code.google.com/intl/ja/apis/ajaxlibs/

2009年11月8日日曜日

Ubuntu 9.10きてた

HP mini1000 で9.04は音がでなかったのが、音なるようになった。
Updateでやったら、すごい時間かかった。クリーンインストールした方がはやそうだ。

2009年11月6日金曜日

CKEditor

CKEditor。フォームのtextareaに使えるWYSIWYGなエディタ。
CakePHPで使うときは、webrootのjsディレクトリに、全部入れちゃうのが簡単。

Bakeryいまさら感が。貼るだけだからヘルパーとか書く方が冗長。
ツールバー設定できるヘルパーとかなら欲しい!
http://bakery.cakephp.org/articles/view/ckeditor-3-x-new-fckeditor-version

CakePHP http_socket

CakePHPのhttp_socketが便利だ。
Dead Linkを調べるのに使用した。

$socket->get($url) して、$socket->response['status']['code']が200なら生きてる、みたいな。
ソースみてつかってしまったけど、こういう書き方はダメなんだろうなといつも思いつつ、取れるからいいやで使ってしまう。

参考
http://www.syuhari.jp/blog/archives/825
http://api.cakephp.org/view_source/http-socket/
Hey!