2009年12月22日火曜日

CakePHP モデル 空の配列

$blank = array_fill_keys( array_keys($this->Model->getColumnTypes()), false );
全部にfalseをいれてみた。newとかでできるのかな?
new $this->Model は過剰だし、objectだし。
getDisplayField()はDBの初期値が入るだけだった。

2009年12月10日木曜日

prototype.js の基本

javascriptの、document.getElementById("id_name")を
$("id_name")と書くことができる。
$("id_name").innerHTML
$("id_name").value
と使ったりする。
これのフォームエレメント版がこれ
$F("form_element")
$("form_element").valueと同じ

checkbox のチェックONは
$F("chkbox_id")では1だったり
$("chkbox_id").checkedはtrueだったりする。

http://www.openspc2.org/JavaScript/Ajax/ref/prototype.js/

CSS button

押下できるイメージボタン
<button style="cursor: pointer; background-color: inherit; border:none;">
<img src="btn.gif" />
</button>

CakePHP SQL Where句

イコール以外のWhere句を書くとき
'conditions' => array(
  user_id => $id,
  'User.user_age > ' => $age,
  'User.name like ' => '%' . $name . '%',
)

dot接続ではなく、矢印接続も可能

2009年12月7日月曜日

Qdsmtpのエラーオフ

$this->Qdmail->smtpObject()->error_display = false;
メソッドが用意されてないので、これでOK?

http://hal456.net/qdsmtp/

2009年12月3日木曜日

CakePHP コントローラでpath

ヘルパーから取ればいいのかな?

Helper::webroot()
Helper::url()

$this->here

echo して良さげなのを使うのさ。

CakePHP コントローラでいろいろOFF

$this->layout = false;  // layout off
$this->autoRender = false;  // render off

$this->output = false;  // output off ?

var $users = array();  // model off

モデルでテーブル無しは
var $useTable = false;

2009年12月2日水曜日

Ajax PHP Javascript 配列渡し

    function click_addr()
    {
        var url = '/input_addr';
        var params = 'data[tablename][zip_code]=' + $F('zip_code_1');
       
        var myAjax = new Ajax.Request(
            url,
            {
                parameters: params,
                onComplete: function(obj) {
                    res = obj.responseText;
                    var data = eval("(" + res + ")");
                    if (data["error"] == "") {
                        $('address_1').setValue(data["prefecture_code"]);
                        $('address_2').setValue(data["address_2"]);
                        $('address_3').setValue(data["address_3"]);
                    }
                }
            });
    }