ですが、肝心のテンプレートが読み込まれません。
デフォルトの app/views/layouts/default.ctp が読み込まれたあとに、
app/views/top/index.ctp が展開されると思うのですが、
default.ctp の内容が表示され、中身の
'<?=$title_for_layout?>'などが展開されないで、そのまま表示されます。
どこを調べて、修正もしくは検証すればよろしいのでしょうか。
ご教授お願い致します。
メッセージを確認していただけて良かったです。
> <?=$title。。。などは、HTMLソースに表示され、ブラウザ上では真っ白でした。
php.ini 設定ファイルのディレクティブ 「short_open_tag」を有効にしてみてください。
設定を変更できない場合は、「<?php echo $title_for_layout?>」等、「<?php echo ~」で省略せずに書く必要があります。
http://php.net/manual/ja/language.basic-syntax.phpmode.php
短縮型のタグ(例 3.)が有効なのは、php.ini 設定ファイルのディレクティブ short_open_tag が 有効になっている場合か PHP が --enable-short-tags オプションつきで configure されている場合のみです。
> index.ctp の中身は読み込んでいませんでした。
default.ctpのビューのテンプレートを読み込む位置に「<?php echo $content_for_layout ?>」を記述してみてください。
http://book.cakephp.org/ja/view/1080/%E3%83%AC%E3%82%A4%E3%82%A2...
>
> それから追加確認です。
> 1.「<?=$title_for_layout?>」等は、HTMLソースを表示した場合にそのまま表
> 示されるのですか?(※ブラウザ画面には何も表示されない。)
> 2.「default.ctp」と同様にセットした変数は展開されないけれど、「index.ctp」の内容自体は表示されるのですか?
rouge_2008さん
わざわざ別ルートからありがとうございます。
今、プログラムを動かしていたマシンが別の場所にあるため確認は出来ませんが、
<?=$title。。。などは、HTMLソースに表示され、ブラウザ上では真っ白でした。
default.ctpの中身を編集すると、その編集は反映されます(静的な部分は)。
ですが、index.ctp の中身は読み込んでいませんでした。
回答させていただきました。
ソースにも何も表示されていないのでしたら、Cakeのデバッグレベルの設定を確認してみてください。
Configure::write('debug', 2);
※上記設定はcore.phpにありますが、デフォルトでは2に設定されています。
もし0に設定されていたら、1または2に変更して、PHPのエラーメッセージが表示されるようにしてみてください。
「Fatal error: Maximum execution time of ** seconds exceeded in ~」というエラーが表示される場合は、php.iniで「max_execution_time」の設定数値を大きくしてみてください。
※デフォルトで30に設定されていますが、通常はこの設定で大丈夫なはずです。
(なるべく30秒以内で実行されるようにした方が良いと思いますので、サーバー環境を見直す方がいいかもしれません。私は詳しくありませんので、サーバー環境、CakePHPで作っているプログラム等の詳細を添えて別途質問してみてください。)
お礼が遅くなりましたが、ポイントといるかをありがとうございました。