アプリ版:「スタンプのみでお礼する」機能のリリースについて

smartyについて

環境は、windows /php-5 / smarty-2.6.17です。
以下の2つエラーが出てどう対処すればいいか困っています。

【1つめ】
Fatal error: Smarty error: [in **.tpl line 10]: syntax error: unrecognized tag: 文-->
【2つめ】
{$errmsg (Smarty_Compiler.class.php, line 446) in C:\xampp\php\PEAR\Smarty\libs\Smarty.class.php on line 1095


【ソース】
呼び先PGは、
$this->smarty->assign("errmsg","ニックネーム");
$this->smarty->display("**.tpl");

テンプレートでは、
<tr id="" class="">
<td id="" class=""><font color="#ff0000">{$errmsg}を入力してください。</font></td>
</tr>

よろしくお願いいたします。

A 回答 (3件)

内部エンコーディング、PHPスクリプトの文字コード、テンプレートの文字コードを


確認して下さい。

エラーで発生している文字をS-JISとし、EUC-JPで表示した場合は以下になります。
<!--i"・・・{赴+->
<tr id="" class=""><td id="" class="">燕鵜v隊鋲s"縲・・・蛟酪乱Mボタンり・k"逐・準・・B</td></tr>
<input type="text" name="Answer1" size="32" maxlength="30" value="{$Answer1}">

UTF-8で表示した場合は以下になります。
<!--{-->
<tr id="" class=""><td id="" class="">L̓e?낵ΑM{^?B</td></tr>
<input type="text" name="Answer1" size="32" maxlength="30" value="{$Answer1}">

文字コード周りの環境が上手くいってないせいで、Smartyがテンプレートの分析を
行う時点で、ある文字列が「{」と認識され、Smartyの文法が間違っている
と怒られている可能性が極めて高いと思われます。
    • good
    • 0
この回答へのお礼

ありがとうございます!!

お礼日時:2008/03/15 21:56

文字がエラーになっていたら


{literal}エラーになっている文字{/literal}
と、囲むとよいかもしれません。
    • good
    • 0
この回答へのお礼

ありがとうございます!!

お礼日時:2008/03/15 21:55

テンプレートを削除しながら確認していって、どれが問題で


発生しているか確認して下さい。

この回答への補足

調べたところ、テンプレートに書かれている、文字に反応していました。箇所ありました。
【1つめ】
PG:<!--ここから本文-->    エラー文字:本
【2つめ】
PG:<tr id="" class=""><td id="" class="">下記の内容でよろしければ送信ボタンを押してください。</td></tr>   エラー文字:ボ
【3つめ】
PG:<input type="text" name="Answer1" size="32" maxlength="30" value="{$Answer1}">  エラー文字:"{$Answer1}"

3つめはどうしても使用したいのですがどのようにすればいいのでしょうか。

補足日時:2008/02/12 16:55
    • good
    • 0
この回答へのお礼

ありがとうございます。
エラー箇所うを特定いたします!

お礼日時:2008/02/12 16:42

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!