2016-11-03 2 views
0

Smarty(V 3.1.30)で複数のマーカーでGoogleマップを作成したいと思います。約200のエントリは、MySQLデータベースから来て、多次元配列に格納され、Smartyテンプレートに割り当てられます。私はJavaScriptで地図を構築したいテンプレートファイルでSmarty:JavaScriptで配列を使用する

[ID, "Name", "City", lat, lng] 

各エントリには、構造を有しています。問題は、私はテンプレートから配列を取得し、それをJavaScriptで使用することに成功しないということです。 Smartyのセキュリティオプションは有効になっていません。

私はこのコードを使用します

<script type="text/javascript"> 
    {literal} 
    var locations = {/literal}{$allCoords|json_encode}{literal}; 
    console.log(locations); 
    {/literal} 
</script> 

を...そして、コンソールにこのエラーが表示されます。

SyntaxError: expected expression, got ';'
var locations = ;

+0

JSON形式で配列を送信します。 – meen

+0

私の賭けは 'json_encode'に失敗しました。あなたはコントローラの終わりでそれを実行し、エラーを確認する必要があります – Machavity

+0

"あなたのコントローラで実行する"とはどういう意味ですか?説明してください。ありがとうございました。 –

答えて

0

はあなたのアドバイスをいただき、ありがとうございます。その文字セットの問題で、JSONが失敗しました。

Javascriptはphp-ArraysではなくJSON-Objectsで動作します。 JSONにはUTF8が必要です。

関連する問題