• ベストアンサー

smartyについて

smartyを勉強中です。 市販本のサンプルアプリは、うまく実行できました。 環境は、windows /php-5 / smarty-2.6.17 サンプルを真似して、少し修正して、実行すると、下記エラーが出ます。 Fatal error: Smarty error: [in fra_disp.tpl line 13]: syntax error: unrecognized tag: frag.rec_ctl (Smarty_Compiler.class.php, line 446) ソースをじっくり見てますが、サンプルと何が違うか分かりません。こんな質問で申し訳ありませんが、何かヒントいただけませんか。 ちなみに、呼び元pgでは、 $o_smarty->assign("frags",$data); $o_smarty->display("fra_disp.tpl"); また、テンプレートでは、 {foreach from=$frags item="frag"} <tr> <td>{frag.rec_ctl}</td> とコーディングしてます。

質問者が選んだベストアンサー

  • ベストアンサー
  • master000
  • ベストアンサー率33% (16/48)
回答No.2

正解テンプレート {foreach from=$frags item=frag} <tr> <td>{$frag.rec_ctl}</td> 2箇所違っていましたね。

toco_eno
質問者

お礼

どうもありがとうございました。。 サンプルをコピーして、そっと直したと思っていましたが、 間違っていました。 ちなみに、item=のほうは、 item="frag" でも動きました。 もう1人の回答で、リファレンスページを教えてもらいました。 そこを見ると、item=は、ダブルクォートなしでした。 item=frag とします。

その他の回答 (1)

  • inu2
  • ベストアンサー率33% (1229/3720)
回答No.1

{foreach from=$frags item=frag} これじゃだめ? http://www.smarty.net/manual/ja/language.function.foreach.php 本読むより、ここのリファレンスマニュアル読んだほうが確実ですよ

toco_eno
質問者

お礼

リファレンスマニュアルのURLありがとうございました。 結果は、 <td>{$frag.rec_ctl}</td> でした。($をつけてなかった)

関連するQ&A