• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Smartyについて)

Smartyを使ってHello,worldを表示する方法

このQ&Aのポイント
  • Smartyをインストールしました。
  • index.phpとindex.tplの内容を設定しました。
  • http://web.domain/test/index.phpを表示するとエラーが出ませんが、何も表示されません。原因を特定できません。

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

  • ベストアンサー
回答No.3

 手元の環境にSmartyを入れて動かしてみたところ、正しく動作するのは確認してますので、基本的なところは間違ってないと思いますが…… > require_once(”Smarty.class.php");  これは正しく処理されていますか? これが処理されていれば以降は問題ないはずです。ファイルが見つからなくてエラー停止している可能性があります。 http://www.smarty.net/manual/ja/installing.smarty.basic.php  ここにSmarty.class.phpを読み込ませる方法が何通りか書かれていますので、参照してください。

y_edamatsu
質問者

補足

不思議な現象ですが、インストール先、php.iniのpath設定等を変えていないのにチャンと動作するようになっていました。どこが悪かったのか今となっては判りませんが、取り敢えず動作するようになったのでこのままやっていこうと思います。例として書いたindex.phpやindex.tplの内容も変更していませんので何が何やら、、。 ご意見有難うございました。 質問の環境は、遠隔地に置いたサーバー(ubuntu)を自宅からsshリモート(MS-windows)して動作させていたのですが、他の言語類、サーバー環境はマトモ(多分)に動作しているので何が悪かったのか判らず、気分はすぐれませんが、 例題として require_once("Smarty.class.php"); $smarty=new Smarty(); を動かしてエラーが出なかったので、Smartyはきちんと探し出していたのだろうと思っています。 重ねてどうもご意見有り難うございました。

その他の回答 (2)

回答No.2

displayメソッドはパス指定が無い場合は$template_dirで指定された場所からテンプレートファイルを読み込みます。 ・$template_dirで指定されているディレクトリが存在しない ・テンプレートファイルが$template_dirの場所に存在しない という場合は表示されません。 (index.phpと同じ場所ではありません) テンプレートファイルの場所は正しいですか?

y_edamatsu
質問者

補足

フォルダの位置関係ですが /var/www/test/index.php /var/www/test/templates/index.tpl /var/www/test/templates_c /var/www/test/chche /var/www/test/configsとなっています。 templatesフォルダは、index.phpと同じtestフォルダ内にあるので index.php内で require_once("Smarty.class.php"); $smarty= new Smarty(); $smarty->template_dir="./templates/"; $smarty->compile_dir="./templates_c/";と指定しています。 コレではまずいのでしょうか?。 Smartyは使うのが初めてなので良く分かっていないのかもしれません。 よろしくお願いいたします。

回答No.1

> $o_smarty->display("hello.tpl"); > index.tplの内容  単にファイル名が違ってるだけかと……

y_edamatsu
質問者

補足

済みませんでした。質問文中の $o_smarty->display("hello.tpl"); は、 $o_smarty->display("index.tpl");の間違いでした。 つまり、index.phpとindex.tplでファイル名は合っているのですが、表示されないのです。 よろしくお願いいたします。

関連するQ&A