いままでSmartyを毛嫌いしていた理由に、いわゆる「デリミタ」が、しっくりこないと思っていた。
標準だと、
{foreach from=$custid item=curr_id}
id: {$curr_id}
{/foreach}
みたいな感じで、{}でくくったところがSmartyで置換される処理だったり変数だったりするのだが、これが嫌いなのである。
標準だと、CSSや、JavaScriptの記述と相性が悪い。
CSSやJavaScriptを{literal}でくくってやってもいいけど、それもまた面倒。
Smartyの設定で、デリミタを換えることができるのは知っていたけれど、うーん。。Wさん曰く、XOOPSなんかでは、<{$hoge}>という感じで使ってるらしいけど、、、それでも、困るのが、Dreamweaverでテンプレを編集する場合に、foreachその他命令文が、html中でただの文字としてレンダリングされるのが嫌なんである。
という風に、制御文はhtml中でコメントになるので、htmlのレンダリングに影響を及ぼさないのである。
かといって、Smartyのデリミタを、<!−− ーー>に変更してしまうと、アサインした変数もコメント扱いになり、html中に変数名が表示されなくなる。
Smartyが、制御文・命令文のデリミタと、アサインされた変数のデリミタと、別々に設定できればいいのだけれど、、この部分がクリアされない限り、積極的には使いたくないなぁ、、とかいってみるテスト。
単に僕がアホでマヌケでのろまなミジンコだから、ナイスな設定を知らないだけかもしれない。
うまい解決策があったら教えてください。そしたら、すぐにでもSmartyに乗り換えてもいいんだけど。
コメント (2)
DWあんまり使わないので的はずれかもしれませんが
こういうのがあるみたいです。
http://www.takatoraharada.com/blog/index.php?itemid=100
http://blog.ideamans.com/monta/dreamweaversmarty.php
投稿者: にゃんきー | 2006年05月19日 00:15
日時: 2006年05月19日 00:15
こんにちは。コメントありがとうございます。
早速試してみました。
Smartyタグが、Dreamweaver中で、コメントやアンカーなどと同じような表示になり、制御文などはとりあえずよいのですが、変数も同じようにコメント的に表示されるので、どういう変数名か、変数のオプションがなんなのかをプロパティを見なければいけません。
しかし、上記ファイル中のSmarty.xmlにタグ変換のルールが記載されているので、それを改良すればよさげ。
もうちょっと研究してから、改めて新しいエントリーにまとめようと思います。
情報ありがとうございました。
投稿者: ANN@管理人 | 2006年05月20日 02:22
日時: 2006年05月20日 02:22