title書き換えで悩む
Posted by maru on 31 1月 2014 at 12:04 pm | Tagged as: EC-CUBE, EC-CUBEプラグイン"WpPost", WEB, WEBプログラミング, wordpress, プラグイン
EC-CUBEのプラグインWpPostのSEO対策をしていて2回ほど躓いたので、書いておきます。
EC-CUBEのプラグイン作成ではSmartyのテンプレートをフックして、内容を変更できます。
- prefilter・・・Smrtyテンプレートコンパイル前※コンパイル時のみ
- outputfilter・・・Smrtyテンプレートコンパイル後※テンプレート出力時に毎回
prefilterでtitleタグを変更するために
$objTransform->select(‘title’)->replaceElement(file_get_contents($template_dir . ‘plg_hoge_add.tpl’));
とすると、「テンプレートの操作に失敗しました。title が存在しません」となります。
悩んだのですが、解決しないためEC-CUBEのフォーラムで質問したら、titleではエラーするようです。
http://xoops.ec-cube.net/modules/newbb/viewtopic.php?topic_id=13941&forum=17&post_id=62557
上記リンクにあるようにjQueryで<title>~</title>の中身を入れ替えるようにしました。
$('title').text('Smartyのtagとか');
やれやれと思っていたら、ChromeやFireFoxは問題無いのですが、IEでエラーが出ます!
色々悩んだところ、どうも$('title').text('Smartyのtagとか');
が影響しているようなので、調べてみると、大正解のページを見つけました。
なので、
document.title = "Smartyのtagとか"
;
とすることで、解決!
やっと思い通りの動きをするようになりました。