php初心者です。

smartyを入れてみたのですが、
Fatal error: Uncaught exception 'SmartyCompilerException' with message 'Syntax Error in template
というエラーメッセージが解決できず困っております。

このメッセージの意味を教えてください。
不足している情報があるかと思いますが、よろしくお願いします。

回答の条件
  • 1人5回まで
  • 登録:
  • 終了:2011/05/25 14:55:03
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:jack_sonic No.2

回答回数124ベストアンサー獲得回数25

ポイント27pt

Fatal error: Uncaught exception 'SmartyCompilerException' with message 'Syntax Error in template

致命的エラー: キャッチできない例外 'Smarty構文のコンパイルで例外発生' 'テンプレートファイル内での文法エラー'

というような意味ですが、

テンプレートファイル内のSmarty構文に文法エラーがあるため、Smartyエンジンがテンプレートをコンパイルできないということです。

原因はSmarty構文の文法エラーなので、さまざまなものが考えられます。

  • 1の回答者さんがおっしゃっているようなSmarty変数に-を使っている
  • 単純なスペルミス
  • Smarty構文を示すための{}が、JavaScriptの部分で使われてしまっている

など、Smarty構文の文法にテンプレートファイルの内容がきちんと沿っているかご確認ください。

id:vfr6822

細かく教えて頂いてありがとうございます。

ハイフンは入ってないです。

スペルミスもありません。。。困った。

2011/05/19 19:32:27

その他の回答2件)

id:SecondFlower No.1

回答回数15ベストアンサー獲得回数1

ポイント27pt

Smarty変数にハイフン "-" が入っているのでは?

Smartyではハイフンは演算子として処理される。

id:vfr6822

ハイフンは入ってないです・・・

2011/05/19 19:29:38
id:jack_sonic No.2

回答回数124ベストアンサー獲得回数25ここでベストアンサー

ポイント27pt

Fatal error: Uncaught exception 'SmartyCompilerException' with message 'Syntax Error in template

致命的エラー: キャッチできない例外 'Smarty構文のコンパイルで例外発生' 'テンプレートファイル内での文法エラー'

というような意味ですが、

テンプレートファイル内のSmarty構文に文法エラーがあるため、Smartyエンジンがテンプレートをコンパイルできないということです。

原因はSmarty構文の文法エラーなので、さまざまなものが考えられます。

  • 1の回答者さんがおっしゃっているようなSmarty変数に-を使っている
  • 単純なスペルミス
  • Smarty構文を示すための{}が、JavaScriptの部分で使われてしまっている

など、Smarty構文の文法にテンプレートファイルの内容がきちんと沿っているかご確認ください。

id:vfr6822

細かく教えて頂いてありがとうございます。

ハイフンは入ってないです。

スペルミスもありません。。。困った。

2011/05/19 19:32:27
id:jack_sonic No.3

回答回数124ベストアンサー獲得回数25

ポイント26pt

Syntax ErrorとあるのでSmarty文法のエラーであることは確かです。

Smartyもプログラミング言語と同じようなものですので、

文法エラーになる原因は数限りなくあります。

自分で限界があるは、ロジックファイルとテンプレートファイルの

ソースを載せたほうがいいと思います。

Smartyも文法で注意しなければならないことは山ほどあるためです。

・の中にを入れてはいけない

とか、

・前述したように、JavaScriptやCSSで{..}が使われていると、

その部分がSmarty構文として解析されてしまうので、

Smarty構文解析の対象外とするために

{literal}..{/literal}で囲む

とか、色々あります。

文法を本当に完璧に完成してもダメなようならば、

テンプレートパスがきちんと通っているかどうかなどを確認してみてください。

参考リンク:

http://www.phppro.jp/school/smarty/

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません