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作成