※ ChatGPTを利用し、要約された質問です(原文:さくらレンタルサーバ上のSmartyの利用)
さくらレンタルサーバ上のSmartyの利用について
このQ&Aのポイント
さくらレンタルサーバ上でSmartyを利用する際には特別な設定が必要か?
Smartyを使用してテンプレートを作成しているが、{section}がうまく動作しない
Smartyのテンプレートで$arrayをsectionで回す方法がわからない
Smartyを入れてサイトを構築しています。
普通にテンプレートとして使えますが、
なぜか、{section} などはうまく動きません。
Smartyは慣れているのでコードの可能性が低いですが。。
さくらレンタルサーバ上ではSmartyを利用するには何か特別な設定が必要でしょうか?
ちなみに、
■ロジックPHP
--------------------------------
//print_r($array)の結果は以下とおりのを確認できた
//Array ( [0] => Array ( [name] => name1 [add] => add1 [url] => url1 )
[1] => Array ( [name] => name2 [add] => add2 [url] => url2 ) )
//これをテンプレートで、sectionで回したいです。
$smarty->assign("array", $array);
-------------------------------
■テンプレート
---------------------------------
testing<br>
{section name=i loop=$array}
{$array[i].name}<br>
{$array[i].add}<br>
{/section}
testing finished<br>
---------------------------------
全く何も表示されず、エラーもありません。
デバッグの「testing」の間に結果が入るはずですが、真白です。
どなたか教えてください
かなり数時間はまっていました。。。
よろしくおねがいします。
お礼
原因わかりました;;; 【間違え】 $smarty->assign("menu", "$menu"); 【正しい】 $smarty->assign("menu", $menu); $menuは、"" で括るべきではなかったです。。。 単純ですが、全く気づきませんでした。。 honoka69さん、{debug} は本当に勉強になりました。 ありがとうございました!
補足
honoka69さん、 ありがとうございます。 「php_value error_reporting E_ALL」は便利ですね! エラーでないので、{debug}してみました。 {debug}は知らなかったです。なるほどです。試してみた結果は、以下となっています。 ----------------------------------------- {$SCRIPT_NAME} "/ttt.php" {$_smarty_debug_output} "html" {$array} "Array" ----------------------------------------- 値を出してみました。 {$array@debug_print_var}の結果は、"Array" です。。 なんかおかしいですね。 PHPで、print_r($array)のときは、 Array ( [0] => Array ( [name] => name1 [add] => add1 [url] => url1 ) [1] => Array ( [name] => name2 [add] => add2 [url] => url2 ) ) ですが。。。 まったくわかりませんでした。。orz