twitterボタンのハッシュタグに日本語が含まれていると、
smartyテンプレートでうまくボタンが表示されなかった。。。
その対応方法をめも
1.ツイッターのaタグ部分を変数に代入
ツイッターボタンのaタグを変数に代入します。
その際に、classとdata-hashtagsがhref要素よりも前に来るようにしてください!
そして忘れずにassign!
$twitterButton = '<a class="twitter-share-button" data-hashtags="日本語ハッシュ" href="https://twitter.com/share">Tweet</a>';
$smarty->assign('twitter', $twitterButton);
2.表示する際にHTMLエスケープさせない
テンプレート内でツイッターボタンを表示させたい部分で、
1.で定義したaタグを表示させる。その際にnofilterを指定します。
{$twitter nofilter}
3.javascript部分を{literal}タグで囲む
テンプレート内でツイッターボタンのjavascriptの記述を、
下記のように{literal}タグで囲んで書きます。
{literal}
<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script>
{/literal}
以上の手順で無事、日本語のハッシュタグを使ったツイートボタンを表示できました!
なぜだか1.をやらないとツイートボタンにならない・・・なせだー