時間がかかりそうなので、後回しにしようと思っていたんだけど、
気になりだすと、どうしようもなくなってしまう性分で、
結局、Welcartのコアソースの中までおっかけて、前回の問題点を何とかする方法を模索してみた。
デバッグ環境とかeclipseとかなきゃ、諦めてたんだろーな。
Welcartのtemplate_redirectをフックするのは変えず、
表示しようとしているテンプレートが’wc_customer_page.php’だった場合のみ、
Javascriptを読み込むように、フックしているphp側を修正してみた。
悩んだのは、テンプレートのファイル名を判定するトコ。
is_page_template(‘wc_customer_page.php’)とやっても、うまくいかず。
どうも、デフォルトのテンプレートが使用されていると判定しているっぽぃ。
しょうがないので、画面遷移の制御をしている部分を覗こうと思ったら、
usceshop.class.phpのtemplate_redirect()に行き着いた。
この中で、次の遷移先を判定するのに、「$this->page」ってのを参照してる。
この「$this」ってのはWelcart本体のインスタンスだろうと考え、
こんな感じにしてみた
if ($usces->page == 'customer' ) { //Javascript読み込み }
きちんと動作してるっぽぃ。
めでたし、めでたし。
貴重なG/Wの1日を費やしてしまった。
コメント