テンプレート内にいくつかの変数があり、それらをどこに割り当てたかわかりません。特定の変数の内容を知る必要があります。たとえば、member
というsmartyの変数があるとします。 {debug}
で試しましたが、機能せず、ポップアップは表示されませんでした。
テンプレート内でvar_dump()
などを使用してsmarty変数を出力/デバッグするにはどうすればよいですか?
{php}タグを使用できます
方法1(Smarty 3.1以降では動作しません):
{php}
$var =
$this->get_template_vars('var');
var_dump($var);
{/php}
方法2:
{$var|@print_r}
方法3:
{$var|@var_dump}
これが役立つかどうか教えてください。
これは動作するはずです:
{$var|@print_r}
または
{$var|@var_dump}
@は、配列全体に対して修飾子をスマートに実行するために配列に必要です。そうでない場合は、各要素に対して実行します。
価値があるものについては、{$varname|@debug_print_var}
を実行して、変数のvar_dump()
- esque出力を取得できます。
.tplで{debug}を使用し、ソースコードを見てください
新しいSmartyでは次のとおりです。
<pre>
{var_dump($variable)}
</pre>
Smartyセッションで試してください:
{$smarty.session|@debug_print_var}
または
{$smarty.session|@print_r}
出力を美しくするには、<pre> </pre>
タグの間に使用します
もっときれいなものがほしいなら
{"<?php\n\$data =\n"|@cat:{$yourvariable|@var_export:true|@cat:";\n?>"}|@highlight_string:true}
yourvariableを変数に置き換えるだけです
これを試してください.... Smartyで$debugging
をTRUEに設定します。
Prestashop 1.6.xでsmartyでデバッグするには:
{ddd($variable)} -> debug and die
{ppp($variable)} -> debug only
その他の便利なデバッグタグ:
{debug}
Smartyには、|
(単一パイプライン演算子)を使用して使用できる修飾子が組み込まれています。このように{$varname|@print_r}
は値をprint_r($php_variable)
として出力します
smarty V3ではこれを使用できます
{var_dump($variable)}