• 締切済み

テンプレートファイルの作成

PHPの作成は外部に委託し、Smartyを使ってテンプレートファイルを作っています。 サーバの環境なども整えてもらい、正常に動いています。 テンプレートに関しては当方初心者です。 htmlでデザインを作ってあるのですが、これを.tplに名前を変え、現在動いているテンプレートから記述をコピペしてアップロードしたところ、エラー文も出ない真っ白な画面になりました。 htmlをテンプレート化するときに消さなければならないタグや注意点を教えてください。 そもそも方法がおかしい場合も指摘をお願いします。

みんなの回答

回答No.2

ごめんなさい >PHPのdisplay_errors設定値がOnである為、 設定値がOffである為、が正しいです。 が、まあそこは問題視されるべき事項ではないでしょうけど^^; さっぱり解決できなくて、まだコーディング、テスト期間(運用していない) であれば、上記をOnにしてわざとエラーを出させて何が問題に なっているのかを特定する材料とすれば良いと思うのですが、 その辺りをあなたの独断でいじっていいのか、いじれるのか、というのは 定かではありません。 (仕事でやってるのか個人なのかよくわからないので)

errorman
質問者

お礼

ありがとうございます。 .htmlをテンプレート化する方法から、元ある.tplに少しずつ.htmlのタグを移すことで動き始めています。 一つ一つ原因を探していくことにします。 とても参考になりました。

全文を見る
すると、全ての回答が全文表示されます。
回答No.1

テンプレートを元に戻したらちゃんと動作するのでしょうか? 現在動いているということは、正常に動作するならプログラムの せいではないですよね。 ふと思いだせるのは、Smartyの開始・終了タグがJavaScriptなどの せいによって解析エラーを起こしており(Smartyの開始・終了タグは 「{」・「}」のハズ)、PHPのdisplay_errors設定値がOnである為、 エラーが表示されてこない、といったイメージです。 もしそれが問題で、Smartyのタグを変更できないならば、問題の箇所を {literal}{/literal}で括ればよいと思います。 あとは新しく作ったテンプレートファイルの文字エンコードが他のもの (PHPスクリプトやら)と一致していなくて文字を誤認識して先のように Smartyタグと勘違いされてエラー、くらいですかね。 他はちょっと最近PHP触ってないので思い出せませんが・・・。

errorman
質問者

補足

>テンプレートを元に戻したらちゃんと動作するのでしょうか? はい、バックアップは取ってあるのでテンプレートを上げなおすと戻ります。 なるほど、Javascriptの部分を伏せてあげればいいんですね。 文字エンコードに関しては先方に聞いてみないとわからないですね。 まだ真っ白なままです…><

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • phpでブログを作成したいのですが、テンプレート部で困ってます

    phpの勉強が終わり、phpとデータベースを使用してブログを作成しようとしている初心者です。作品を提出したいのですが、テンプレート部分がよくわからなくて困ってます。 プログラム部分は~.php,~.class.phpでそれぞれ外部ファイルとします。html(tpl)部分の作成ですが、html(tpl)はDreamweaverで作成し後から手打ちでhtmlタグにスクリプトタグ(smarty等)を記述していくのが一般的なのでしょうか? そうなると時間がかかる気がするのですが・・・。 それとも、いいと思ったhtml等をサンプルとしてコピーしバナーの画像を変えるといったような方法もあるのでしょうか? 無料テンプレート等でhtml+cssでかわいいテンプレートが多くありますが、あれはFireworks等で画像を作成し、Dreamweaverに挿入してテンプレートを作成しているのでしょうか?その場合のphpがどのような方法で作成されているのか等よくわかっていません。どなたかわかられる方教えてください!何かそのようなnetなどあれば教えていただけると光栄です 質問が多くてすみません。

    • 締切済み
    • PHP
  • smaryテンプレートを使う上で、Smartyオブジェクトを二つ作成し

    smaryテンプレートを使う上で、Smartyオブジェクトを二つ作成し、それぞれのそのなかの変数をひとつのテンプレートに表示するという方法は可能でしょうか?つまりそれぞれを同じテンプレートに表示する、という方法はできるのでしょうか?PHPは下記のようになります。 $smarty = new Smarty(); $smarty2 = new Smarty(); $smarty->assign('abc', $def); $smarty2->assign('ghi', $jkl); $smarty->display('aaa.tpl'); $smarty2->display('aaa.tpl'); それとも、オブジェクトと表示するテンプレートは1つずつでないといけないとだめで、$smartyと$smarty2は、どっちかひとつに統一する必要があるのでしょうか?

    • ベストアンサー
    • PHP
  • 共通テンプレートを呼ぶ

    src/common/header.tplを src/hoge/hoge.tplから {include file="../common/header.tpl"} として呼びだしたい。 エラーメッセージが Warning: Smarty error: (secure mode) accessing "../common/header.tpl" is not allowed in C:\php\libs\Smarty.class.php on line 1088 です。 #### 設定 php.ini include_path = ".;C:\php\libs;C:\php\PEAR" safe_mode = Off Smarty.class.php $smarty->template_dir="."; {include file}を絶対パスで記述しても同じエラーです。 おそらくこのsecure modeの設定が正しく設定されていないのでしょうが その設定方法がいまいちよくわかりません。 簡単なことなのかもしれませんが、ご存知の方がいらっしゃいましたら ご教授願えないでしょうか。 よろしくお願いいたします。 環境 Windows XP php-5.0.5 Smarty-2.6.10

    • 締切済み
    • PHP
  • Smartyが外部CSSを読み込んでくれません。

    PHPとSmartyを勉強中です。 XHTMLでテンプレートを作り、test.tplと名前を付けてtemplatesフォルダに保存しました。 次に、test.phpで 「$smarty_obj -> display("test.tpl");」としてブラウザ表示してみました。 すると、test.tplの外部リンクのスタイルシートが無視されてしまいます。テンプレートどおりのデザインを表示したいのですが、どうしたらよいのでしょうか。宜しくお願いいたします。

    • ベストアンサー
    • PHP
  • smartyテンプレート読み込みについて

    Smarty動的Webサイト構築入門という書籍を見ながらSmartyを学習しているのですが、書籍のCD-ROMから落としたサンプルファイルを保存しているのですがどうしてもテンプレートを読み込むことができません。 03_01.php <?php require_once("../smarty/libs/Smarty.class.php"); $smarty = new Smarty(); $smarty->template_dir = "templates"; $smarty->compile_dir = "templates_c"; $smarty->assign("name", "Smartyさん"); $smarty->display("03_01.tpl"); ?> 03_01.tpl Hello, {$name}!! エラーメッセージ Warning: Smarty error: unable to read resource: "03_01.tpl" in C:\xampp\htdocs\smartybook\smarty\libs\Smarty.class.php on line 1092 03_01.phpは、C:\xampp/htdocs/smartybook/ren/に保存しています。 03_01.tplは、C:\xampp/htdocs/smartybook/templates/に保存しています。 どこが駄目なのか教えてください。 宜しくお願いします。

    • 締切済み
    • PHP
  • Smartyでテンプレートが読み込めない

    下記のソースを実行すると、テンプレートが読み込めずエラーになってしまいます。 うーん、何故なのか分からず困っております。 phpのバージョンは4.4.6なのですが、Ver5以降でないとサポートされないのでしょうか。 [source] <?php require_once("Smarty.class.php"); class MySmarty extends Smarty { function _MySmarty() { $this->Smarty(); $this->template_dir="../templates"; $this->compile_dir="../templates_c"; } } $o_smarty=new MySmarty(); $o_smarty->display("hello.tpl"); ?> [error message] Warning: Smarty error: unable to read resource: "hello.tpl"

    • ベストアンサー
    • PHP
  • Smarty includeでテンプレートを読み込めない

    よろしくお願いします。 まずphpファイルから $smarty->display('111/body.tpl');(*111はディレクトリ名) を呼び出して、さらにbody.tplと同ディレクトリにあるcontents.tplを読み込もうとしています。 はじめのbody.tplは読み込むことができブラウザで表示されるのですが、contents.tplは読み込めず、 Warning: Smarty error: unable to read resource: "contents.tpl" in <絶対パス>/Smarty/Smarty.class.php on line 1095 のエラーが出てしまいます。 ちなみに/111/というディレクトリは、$template_dir以下、$template_dir/111/です。 {include file="contents.tpl"} {include file="file:contents.tpl"} {include file="絶対パス/contents.tpl"} {include file="file:絶対パス/contents.tpl"} など試しましたが、ダメでした。 知恵をお貸しください。よろしくお願いします。

    • ベストアンサー
    • PHP
  • ロリポップでSmartyのtpl読み込みエラー

    下記のコードを実行すると、  Smarty error: unable to read resource: "template1.tpl"  というエラーが出てしまいます。 $smarty->template_dirで指定したディレクトリ名の中に  "template1.tpl"というファイルは配置してあります。  原因などわかればおしえていただけないでしょうか。 index.php <?php require_once("Smarty.class.php"); $smarty = new Smarty; $smarty->template_dir = './templates/'; $smarty->compile_dir = './templates_c/'; $smarty->config_dir = './configs/'; $smarty->cache_dir = './cache/'; $smarty->display("template1.tpl"); ?> 【サーバ】  ロリポップです。 【その他】 index.phpをホームディレクトリ配下におくとエラーは消えます。 【ディレクトリ構成】 modules/index.php と templates/template1.tpl をがあり、 index.php から template1.tpl を読み込もうとしています。  ・modules →index.php ・templates →template1.tpl

    • ベストアンサー
    • PHP
  • テンプレートファイルについて

    ■質問です ホームページを作成するために必要でしたので、あるcgiを購入しました。 そのcgiでは、「デザイン部分のみ別になっているテンプレート方式ですので、自由にデザインを変更可能」とありましたので、商品を確認したところ、確かに別フォルダに.tplという拡張子のテンプレートファイルが存在しました。なお、そのファイルは「Smarty」で作成したものという表記がありました。 そこで、以下についてお聞きしたいのですが…、 ・そのファイルを編集(デザイン編集)するには、具体的にどんなソフトが必要なのでしょうか?ちなみに当方はホームページビルダー9.0を使用しています。 ・ホームページビルダー9.0で開くことができませんでした。開いて編集する操作方法をご存知でしょうか? 漠然とした質問で申し訳ありませんが、作業が進まず非常に困っています。ご存知の方、アドバイスをいただけると助かります。。。よろしくお願いいたします。

  • テンプレートファイルについて

    ほぼ初心者からの質問です。言葉足らずな面があるかと思いますが、よろしくお願いします。 ■質問 ホームページを作成するために必要でしたので、あるcgiを購入しました。 そのcgiでは、「デザイン部分のみ別になっているテンプレート方式ですので、自由にデザインを変更可能」とありましたので、商品を確認したところ、確かに別フォルダに.tplという拡張子のテンプレートファイルが存在しました。なお、そのファイルは「Smarty」で作成したものという表記がありました。 そこで、以下についてお聞きしたいのですが…、 ・そのファイルを編集(デザイン編集)するには、具体的にどんなソフトが必要なのでしょうか?ちなみに当方はホームページビルダー9.0を使用しています。 ・ホームページビルダー9.0で開くことができませんでした。開いて編集する操作方法をご存知でしょうか? 漠然とした質問で申し訳ありませんが、作業が進まず非常に困っています。ご存知の方、アドバイスをいただけると助かります。。。よろしくお願いいたします。