ITOBEN STYLE > EC-CUBEプラグイン > ECCUBEレスポンシブWebデザインの修正ファイル 2013年9月14日カテゴリー: EC-CUBEプラグイン ECCUBEレスポンシブWebデザインの修正ファイル 下記の方が対象です。ファイルの修正をお願いします。 2013年9月14日以前に、レスポンシブWebデザインをご購入してくださった方 (レスポンシブWebデザインのバージョンすべてに共通) (1)■data/class/pages/LC_Page.php 2カ所追加 ① はじめの部分、 // {{{ properties の、 /** プラグインを実行フラグ */ var $plugin_activate_flg = PLUGIN_ACTIVATE_FLAG; の次に追加 [php] /** スマホ・PC判別 */ var $arrSphone; [/php] ② function init() 内の最後に追加 [php] // スマホ・PC判別 $ua = $_SERVER[‘HTTP_USER_AGENT’]; if(ereg(“Android|iPhone”, $ua)){ // スマートフォン端末 $this->arrSphone = true; }else{ // PC端末 $this->arrSphone = false; } [/php] (2)■data/Smarty/templates/default/site_frame.tpl 変更 130行目あたり [php] [/php] ↓【変更】 [php] [/php] ▼修正ファイルダウンロード ダウンロードはこちら ○ 上記2つのファイルに、カスタマイズを追加していない場合は、上書きしてください。 ○ カスタマイズしている場合は、お手数ですが修正箇所のコード書き換えをお願いします。 ▼修正の理由 商品一覧ページ(検索ページ等も含む)をスマホで開いた時、ページ上部のナビメニューが動作しないため。 (PCで開いた時は、上部のナビメニューは表示されないので気がつきにくい箇所です) ▼なぜ、動作しないのか? 商品一覧ページと他のページでは、バージョンの違うjQueryを利用しています。 商品一覧ページでは、jquery-1.4.2.min.jsを利用していますが、jquery-1.4.2.min.jsでは上記メニューが動かないことが分かりました。 本来なら、すべてのページにjquery-1.8.2.min.jsを適用したいところなのですが、商品一覧ページの「カゴに入れる」ボタンがjquery-1.4.2.min.jsでなければ動作しないのです。 (EC-CUBEの最新バージョンでも未だにjquery-1.4.2が利用されているのは、おそらくこの理由だと思います) ※商品一覧ページに「カゴに入れる」ボタンを表示させない作り方であれば、すべてのページにjquery-1.8.2を適用することは可能です。 ▼修正内容 まず、■data/class/pages/LC_Page.phpで、アクセスしてきたディバイスが、スマホかPCかを判別します。 次に、■data/Smarty/templates/default/site_frame.tplで、 商品一覧ページ(list.php)を開いた時、 ディバイスがスマホなら、jquery-1.8.2を適用、PCならjquery-1.4.2を適用、としました。 スマホの場合、商品一覧ページでは「カゴに入れる」ボタンが非表示になっているので、jquery-1.8.2でも問題はなく、ナビメニューも動作するというわけです。
下記の方が対象です。ファイルの修正をお願いします。
2013年9月14日以前に、レスポンシブWebデザインをご購入してくださった方
(レスポンシブWebデザインのバージョンすべてに共通)
(1)■data/class/pages/LC_Page.php 2カ所追加
① はじめの部分、 // {{{ properties の、
/** プラグインを実行フラグ */
var $plugin_activate_flg = PLUGIN_ACTIVATE_FLAG; の次に追加
[php]
/** スマホ・PC判別 */
var $arrSphone;
[/php]
② function init() 内の最後に追加
[php]
// スマホ・PC判別
$ua = $_SERVER[‘HTTP_USER_AGENT’];
if(ereg(“Android|iPhone”, $ua)){
// スマートフォン端末
$this->arrSphone = true;
}else{
// PC端末
$this->arrSphone = false;
}
[/php]
(2)■data/Smarty/templates/default/site_frame.tpl 変更
130行目あたり
[php]
[/php]
↓【変更】
[php]
[/php]
▼修正ファイルダウンロード
ダウンロードはこちら
○ 上記2つのファイルに、カスタマイズを追加していない場合は、上書きしてください。
○ カスタマイズしている場合は、お手数ですが修正箇所のコード書き換えをお願いします。
▼修正の理由
商品一覧ページ(検索ページ等も含む)をスマホで開いた時、ページ上部のナビメニューが動作しないため。
(PCで開いた時は、上部のナビメニューは表示されないので気がつきにくい箇所です)
▼なぜ、動作しないのか?
商品一覧ページと他のページでは、バージョンの違うjQueryを利用しています。
商品一覧ページでは、jquery-1.4.2.min.jsを利用していますが、jquery-1.4.2.min.jsでは上記メニューが動かないことが分かりました。
本来なら、すべてのページにjquery-1.8.2.min.jsを適用したいところなのですが、商品一覧ページの「カゴに入れる」ボタンがjquery-1.4.2.min.jsでなければ動作しないのです。
(EC-CUBEの最新バージョンでも未だにjquery-1.4.2が利用されているのは、おそらくこの理由だと思います)
※商品一覧ページに「カゴに入れる」ボタンを表示させない作り方であれば、すべてのページにjquery-1.8.2を適用することは可能です。
▼修正内容
まず、■data/class/pages/LC_Page.phpで、アクセスしてきたディバイスが、スマホかPCかを判別します。
次に、■data/Smarty/templates/default/site_frame.tplで、
商品一覧ページ(list.php)を開いた時、
ディバイスがスマホなら、jquery-1.8.2を適用、PCならjquery-1.4.2を適用、としました。
スマホの場合、商品一覧ページでは「カゴに入れる」ボタンが非表示になっているので、jquery-1.8.2でも問題はなく、ナビメニューも動作するというわけです。