質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Smarty

Smartyは、PHPアプリケーションで使用されるテンプレートエンジンです。

Q&A

解決済

1回答

3554閲覧

Smartyでtemplate_dirもしくはdisplayがうまく機能しません

sususu

総合スコア99

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Smarty

Smartyは、PHPアプリケーションで使用されるテンプレートエンジンです。

0グッド

0クリップ

投稿2018/07/27 00:58

お世話になります。
表題の件のようにsmartyでtemplateかdisplayがうまく機能しません。
どなたかご教授お願いいたします。

PHPのある階層は下のとおりです。
イメージ説明

同系列にあるviewの中身は下のとおりです。
イメージ説明

templatesの中身は下記のとおりです。
イメージ説明

当該コードsample2.phpは下記のとおりです。

<?php //Smartyクラスを呼び出す。 require_once 'Smarty.class.php'; $smt = new Smarty; //Smartyクラスのパラメータ情報を設定 $smt->template_dir = './view/templates/'; $smt->compile_dir = './view/templates_c/'; $smt->display("sample2.tpl"); ?> <html> <body> これはsample2.phpを読み込んでいます。 </body> </html>

sample2.tplは下記のとおりです。

<html> <body> これはSAMPLE2TPLの表示です。 //<ul> //{foreach $items as $itemdata} //<li>{itemdata.empid}{$itemdata.lanme}{itemdata.fname}{itemdata.age}</li> //{/foreach} //</ul> </body> </html>

上記のように設置しましたがうまく読み込めず
「このページは動作していません」と出てきてしまいます。

ちなみにですが、
1.同じ場所においてあるsample.phpというファイルはsample.tplを読み込めています。
2.sample2.phpファイルのTPL読み込み部分の
template_dir...
display...
をコメントアウトするとTPLを読み込もうとしないので、
sample2.phpの下のHTMLは読み込まれます。

上記2点のことからphpファイルを読み込むところまではキチンと動作していると思われえます。

まったく先に進めないので
どなたかご回答よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

m.ts10806

2018/07/27 01:48

エラーログを確認してください。処理がどこまで通っているか、途中でecho、exitなどを利用して確認してください。
sususu

2018/07/30 00:22

コメントありがとうございます!もう一度ファイルを作成したら直りました!また、エラーログの出し方もまだわからなかったのでそちらも勉強してみたいと思います。ありがとうございます。
m.ts10806

2018/07/30 00:39

いえ、エラーログはサーバー側で出してくれているものなので開発者が意識して出すような必要はないですよ。デバッグで出力したい場合は自身で出力する必要がありますが。解決したのでしたら自身で解決策を具体的に回答におこしてベストアンサーとし自己解決としてください。
sususu

2018/07/30 00:42

サーバーのログの確認の方法もわからなかったので調べてみます!ありがとうございました!!
guest

回答1

0

自己解決

原因は完全にはわかりませんでしたが、ファイルをもう一度作成しなおして
アパッチを再起動したら直りました。
お手数おかけしました。
見に来てくださった皆様ありがとうございました。

投稿2018/07/30 00:46

sususu

総合スコア99

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問