Smartyを使っているサイトにnend広告を設定する場合の注意点

こんにちは!ぐちです。

nend広告

nendはスマートフォンサイトやアプリにのみ表示されるクリック課金型広告を配信しているサービスです。本ブログでも表示させてもらっています。手軽にスマホ向けにバナー広告を表示できる点が良いですね。スマホ向けといいますかスマホしか表示されない仕様なんですけどね。笑

Smary

SmartyとはPHP用のテンプレートエンジンです。詳細の使い方は省略しますが非常に便利です。このテンプレートエンジンを利用しているサイトにnendで作成した広告を管理画面に表示されるスクリプトコードのまま貼り付けるとSmartyの解析時にエラーになります。

Syntax Error in template

Syntax Error in template なんちゃらかんちゃら Unexpected “:”, expected one of: “}”

というシンタックスエラーが起きます。

var nend_params = {"media”:000000,"site”:000000,"spot”:000000,"type":2,"oriented":1};

上記の{}の部分がSmartyの構文として解釈されて構文が違うよというエラーが起きているようです。Smartyの構文として解釈させないようにnendの管理画面からコピーしたスクリプトコードを{literal}{/literal}で囲めばSmartyの構文解析が走らずエラーが起きません。

{literal}
<script type="text/javascript">
var nend_params = {"media”:000000,"site”:000000,"spot”:000000,"type":2,"oriented":1};
</script>
<script type="text/javascript" src="http://js1.nend.net/js/nendAdLoader.js"></script>
{/literal}

上記のような感じです。
※スクリプトコード内のパラメータ値はダミーです。nendの管理画面からコピーしたままで問題ありません。