セミナーも開催されるようですし、日本語の解説も増えてきました。
こうやって利用できる資料が増えてくると敷居も低くなるのでシンフォニアンが増えることでしょう。


さて、本日のお題は本家スクリーンキャストにもあるAJAXを使ったショッピングカートについてです。
Easy Ajax in symfony : http://www.symfony-project.com/demo/cart.html


一見は百聞にしかずですが、動き自体はありがちなものなのです。
しかし、何がすごいってこの実装にJavaScriptを一行もコーディングしていないということです。
symfonyはそのコード生成機能や評判がイマイチのPropelなどのORMが注目されがちですが、この機能を忘れちゃーいけません。


というわけで、本家から上記サンプルの説明を読んでとソースをダウンロードして。。
って、ソースと解説の内容が既に異なっている。。。


解説: http://www.symfony-project.com/tutorial/symfony_ajax.html
ソース: http://www.symfony-project.com/downloads/demo/cart/project.tgz


そのままで動かず2日連続でプチはまり。
そんなこんなではまってしまいEasyではなかったEasy Ajax in symfonyの注意点を。。。


・_cart.phpの$user変数を$sf_user変数に変更
・indexSuccess.phpdrop_receiving_element(...に'script' => 'true'を追加(2箇所)

## たとえばcartの
<?php echo drop_receiving_element('cart', array(
  'update'     => 'items',
  'url'        => 'cart/add',
  'accept'     => 'products',
  'hoverclass' => 'cart-active',
  'loading'    => "Element.show('indicator')",
  'complete'   => "Element.hide('indicator')",
  'script'     => 'true', <= 追加
)) ?>