2012年2月24日金曜日

sfTwigPluginの導入検証

symfony1.4を使っているのでテンプレートエンジンはphpのままなのですが、
Twigと言うのを導入検証してみました。
http://twig.sensiolabs.org/

プラグインは
https://github.com/henrikbjorn/sfTwigPlugin
にあり、docフォルダのインストレーションを参考にすればいけます。

ドキュメントにはデフォルトのlayoutを殺すように書いてありますが、
これは残したままでもよくて
layout.html
xxxSuccess.html
を新たに作成すればいいようです。

layout.hrml移行の際におもいっきり
<?php include_http_metas() ?>
と言うのが出てくるのでこれは
{{ ''|include_http_metas() }}
といった感じで置き換えます。


ちなみに
http://d.hatena.ne.jp/cocoiti/20091230
こちらを参考にさせていただいておりますので、
こちらを見れば全部わかると思います。




ここで、問題が出たのですが、

  <body>
ぼくはまちちゃん
{{ sf_content }}
  </body>
とすると
xxxSuccess.html
<p> こんにちは! こんにちは!</p>

と記述すると
<p>まで表示されてhtmlのタグがエスケープされてしまいます。

{% autoescape true %}
    Everything will be automatically escaped in this block
{% endautoescape %}

これで回避することが出来たのですがいちいちめんどくさかったので
new Twig_Extension_Escaper(false)
にしてしまったところエスケープがされなくなりましたがそれはそれで問題なので
必要なところに{{ name|e }}とエスケープを明示的に指示することになりました。

従来のsfPHPViewの感覚で使っては合わない形なのでしょうか。
従来のlayout.php
xxxxSuccess.php
の感じで適応していのですが、無理な相談なのでしょうか。

何かいい解決方法を知っている方がいたら教えてもらえないでしょうか。

ちなみに当方html php symfonyを最近いきなりまとめて始めたので
なにがなんだかさっぱりです。。。


0 件のコメント:

コメントを投稿