Cakephpでajaxを使って非同期にすっきりpostする clickイベント版

Cakephpでajaxを使って非同期にすっきりpostする | bgbgbg
ではsubmit buttonを使って、submit時にformをserializeして送ってました

buttonのidをshowbtnを指定して

$('#showbtn').click(function() {                                                               
    event.preventDefault();                                                                       
    event.stopPropagation();                                                                      

    $.ajax({                                                                                      
        type: 'POST',                                                                             
        url: '<?php echo $this->Html->Url(array('action'=>'save'));?>',                   
        data: { data: $('form').serialize() },                                                      
    }).done(function(data) {
        // 後処理                                                                      
    });                                                                                           
});

$(‘form’).serialize()でformの内容がとれます

CakephpのFormHelperでselectタグの空行オプション

Cakephp 2.6でFormHelperを使うとformが楽にかけたりします

    $options = [1,2,3,4];
    $this->Form->select('field', $options));

みたいな感じです
デフォルトで空行が出るので出さなくするには

    $options = [1,2,3,4];
    $attr = ['empty' => false];
    $this->Form->select('field', $options, $attr));

なんてするとなくなるし

    $options = [1,2,3,4];
    $attr = ['empty' => 'this is empty'];
    $this->Form->select('field', $options, $attr));

とすると空のvalue値の表示が指定できます

なんかないかなーってときは、
Class FormHelper | CakePHP
見るのがわかりやすいと思います

phpのDateTime型は例外をスローする

phpで日付を扱うときに DateTime を使ったりします

echo $date->format(‘Y-m-d’);

    $date = new DateTime('2015-04-01');
    echo $date->format('Y-m-d');

DateTimeに日付を渡して表示したりできます
日付以外を渡すとExceptionエラーが発生するので

try {
    $date = new DateTime('日付以外の文字');
} catch (Exception $e) {
     // 日付型の指定でない
     echo $e->getMessage();
}    

try catchで例外を受け取って処理しとくといいです

ECCUBEのバージョン2.13.3でのdestory()呼び出しエラー

ECCUBEのバージョン2.13.3にあげてからPHPエラーがでてました

destroy()メソッドがなくなったようで

parent::destroy()
とか呼んでた、プラグインとか拡張していたクラスとかのdestroy()をすべてコメントアウト..で暫定対応

なにが変わったかぱっとみやすくなっていればいいのですが..