Smartyでは、json_encode()がPHPで行うように、標準関数、または配列からjsonを生成する簡単な方法はありますか?実際には、スマートな文書にはないようですが、とにかく尋ねたいと思っていました。スマートでjsonを生成する方法は?
ありがとう、 Sinan。
Smartyでは、json_encode()がPHPで行うように、標準関数、または配列からjsonを生成する簡単な方法はありますか?実際には、スマートな文書にはないようですが、とにかく尋ねたいと思っていました。スマートでjsonを生成する方法は?
ありがとう、 Sinan。
これは動作するはずです。 @は、配列全体に対して修飾子を実行します。それ以外の場合は、各要素に対してそれを行います。
{$myarray|@json_encode}
$escape_htmlが有効になっている場合は、nofilter
を使用する必要があります:
{$myarray|@json_encode nofilter}
あなたはその後、 $smarty->assign()
機能を使用してSmartyのに値を割り当てるウルPHPコードでjson_encode()
を使用する必要があります。その後、あなたは javascriptを使ってurテンプレートファイルでその値を解析する必要があります。
コードスニペット:
{literal}
<script>
var json = JSON.parse('{/literal}{$urarray}{literal}');
//another statments
</script>
{/literal}
JSON.parseがトリックを行いました!ありがとうございました !! – Swathi
{$myarray|@json_encode}
が実際にJSONでエンコードされた配列を発するないが、それはまた、JavaScriptで配列が使用できなくなって、特殊文字をエスケープ。右、なぜステップを保存しない...
{$myarray|@json_encode nofilter}
これが受け入れられる回答である必要があります。 –
これは、Smartyクラスに$ escape_htmlがtrueに設定されている場合にのみ適用されます。私はあなたがそれを正しくやっているならば、それはすべきだと思います。 – Andrew
Smartyのは結局PHPに翻訳されています
はjavascriptを使用してNOFILTERフラグを配列を使用することができるようにも特殊文字をエスケープ避けるとするには? :) – Zed
@Al、コメントは、私たちのために働く企業によって定められたものであり、私たちのような単なる人間ではありません。あなたのようなコメントを扱うことは、それらの要件よりも悪いです。乾杯。 – Sinan