symfony-phptal
symfony-phptalは、 Symfonyフレームワーク用の PHPTALテンプレートビュー作成プロジェクトです。
PHPTALは、Zope Page TemplateのPHP実装です。PHPTALはTAL,METAL,I18の名前空間をサポートしています。
PHPTALのインストール
pear install http://phptal.motion-twin.com/files/latest.tar.gz
symfony-phptalのインストール
svn co http://svn.tracfort.jp/svn/symfony-phptal/trunk phptal
としてコードをダウンロードし、libの中のinstallスクリプト内のインストールパスを確認して実行
pakeを使えるようにしました
sudo pake install /usr/share/pear
プロジェクト毎の設定
myproject/apps/myapps/configや myproject/apps/myapps/modules/mymodule/configのmodule.ymlに
all: view_class: sfPHPTAL
などと書いてください
テンプレートの書き方
templatesディレクトリに拡張子.htmlでテンプレートを作成して下さい。
例) indexSuccess.html
SymfonyのHelper?
リンクの張り方は2通りあります。
1.普通にhrefを書き換える方法
<a href="#" tal:attributes="href php:url_for('test1/index')" > link </a>
2.structureを使う方法
<div tal:content="structure php:link_to(title,'test1/index')"></div>
titleは、Actionのメンバー変数です。必要ならhtmlspecialchars()をかける必要があります。
PropelCrud 用のテンプレート生成
symfony propel-generate-crud myapp mymod Model
のようにして作った足場に続けて
symfony generate-tal myapp mymod Model
のようにコマンドを発行します。このコマンドは、listSuccess.html,editSuccess.html,showSuccess.htmlを生成します。 このテンプレートを有効にするには、
symfony use-tal myapp mymod
を実行します。(module.ymlが書き換わります)
ToDo
- キャッシュに対応
- PropelCrud用のtheme作成
