Posts Tagged “prototype”

prototype も jQuery もそれぞれをベースとして開発された素晴らしいものがいくつもある。最近ではjQueryの方が人気なのだろうか。prototypeも根強い人気がある。

さて、それらを共存させる方法はいつか見つけなければならないだろうと思っていたが、いよいよその時がきた。どちらもCakePHPで使う必要が出てきたからだ。

このエントリの続きを読む »

Comments コメントなし »

前回の記事の、入力側をJavascriptで実装した。

pc.casey.jp » CakePHP独自バリデーション-日付期間 :
http://pc.casey.jp/archives/2277

#Datepickerが使いたかったけどなぜかFormHelperが見つからないとか言う。なぜだ?Helperはextendsできるのに。1.3から挙動が少し変わったらしいけど関係あるのかな。

スプーキーズラボさんが公開されている、prototype.jsベースのjavascriptのカレンダーライブラリprotocalendar.jsがとても便利です。

ハマりながらもなぜか動作させることができたので採用~。寝る前まで動作しなかったのに、さてもう一度調査してみようかと思ったら何事も無く動作していた。妖精さんが仕事してくれたんだろうね。。。


ということで、入力側。日付範囲がバリデートされるんだから、こちら側もそれに合わせておきたいところ。

このエントリの続きを読む »

Comments コメントなし »

ついついベタ打ちしてしまうのだけれど、ヘッダとボディーをそれぞれ処理して(枠の中に結果を入れ込むから)適切に出力するCakePHPでは、規約に従わないとheadに記載されるべきものがbody内に出てきてしまい、”正しいHTMLか”をチェックしたときにエラーになる。やっぱり規約重視なら規約に従わなければいけない。

View内で以下のように設定すると /webroot/js への適切なリンクがされる。

<?php echo $javascript->link(‘prototype’) ?>

Comments コメントなし »

すでに動作する MVC がある。と言ってもほとんど bake しただけ。これを Ajax する場合のメモ。 contoroller と view を変更する。

◆コントローラーの変更

◇明示的にヘルパーを指定する

var $helpers = array(‘Html’, ‘Form’, ‘Javascript’, ‘Ajax’);

◇修正前(bakeしただけ):

 function add() {
  if (!empty($this->data)) {
   $this->QuoteChild->create();
   if ($this->QuoteChild->save($this->data)) {
    $this->Session->setFlash(__(‘The QuoteChild has been saved’, true));
    $this->redirect(array(‘action’=>’index’));
   } else {
    $this->Session->setFlash(__(‘The QuoteChild could not be saved. Please, try again.’, true));
   }
  }
  $quotes = $this->QuoteChild->Quote->find(‘list’);
  $this->set(compact(‘quotes’));
 }

◇修正後(参考文献に習って+pagenatorを殺さないように):

このエントリの続きを読む »

Comments コメントなし »

CakePHP で Ajax を導入してみようと思う。まずは準備。

  1. 公式サイトから(scriptaculous-js-1.8.3.zip が執筆時最新版らしいのでそれを)ダウンロード
  2. 解凍したなかの lib/ と src/ を /webroot/js に送り込む
    • builder.js
    • controls.js
    • dragdrop.js
    • effects.js
    • prototype.js
    • scriptaculous.js
    • slider.js
    • sound.js
    • unittest.js

◆ダウンロード

このエントリの続きを読む »

Comments コメントなし »