ITOBEN STYLE > EC-CUBE:カゴに入れた直後にカート画面に飛ばないようにする 2012年3月14日カテゴリー:未分類 EC-CUBE:カゴに入れた直後にカート画面に飛ばないようにする ********************************************** ↓こちらのページで、さらに機能を追加 https://itoben.com/style/504.html ********************************************** カゴに入れた直後にカート画面に飛ばないようにするとともに、「カゴに商品が追加されました」というメッセージを表示する。 下記のようにコード2行をコメントアウトするだけでもカート画面に飛ばなくなるが、ブラウザの更新ボタンをクリックすると、カゴの中の数量が1つずつ増えてしまうので、ちょっとだけ手の込んだカスタマイズをする。 ★なお、携帯とスマートフォンには適用しない。 // SC_Response_Ex::sendRedirect(CART_URLPATH); // exit; ▼商品詳細ページ(Firefox) 商品一覧ページ(IE) 1 商品詳細ページ (1)■data/class/pages/products/LC_Page_Products_Detail.php ① 160行目あたりを変更 [php] SC_Response_Ex::sendRedirect(CART_URLPATH); exit; ↓(変更) //カゴに入れた直後にカート画面に飛ばない。携帯とスマートフォンには適用しない。 if(SC_Display_Ex::detectDevice() == DEVICE_TYPE_MOBILE || SC_Display_Ex::detectDevice() == DEVICE_TYPE_SMARTPHONE) { SC_Response_Ex::sendRedirect(CART_URLPATH); exit; } else { //セッションに商品を買った事を保持する $_SESSION[‘cart_buy_now’] = TRUE; //リンク元のURLにリダイレクトさせる SC_Response_Ex::sendRedirect($_SERVER[‘HTTP_REFERER’]); exit; } [/php] ② 337行目あたりに追加 function action()内の一番最後 [php] //カートに入れた状態をセッションで一時的に保持。アサイン後初期化。携帯とスマートフォンには適用しない。 if(SC_Display_Ex::detectDevice() == DEVICE_TYPE_MOBILE || SC_Display_Ex::detectDevice() == DEVICE_TYPE_SMARTPHONE) { } else { if ($_SESSION[‘cart_buy_now’] === true) { $_SESSION[‘cart_buy_now’] = ”; $this->CartBuyNow = true; } // カテゴリーIDをアサイン $this->tpl_Category_Id = $_GET[‘category_id’]; } [/php] (2)■/data/Smarty/templates/default/products/detail.tpl ① 45行目あたりを変更 [php] ↓ ② 一番下 の後に [php] [/php] 2 商品一覧ページ (1)■data/class/pages/products/LC_Page_Products_List.php ① 197行目あたりを変更 [php] SC_Response_Ex::sendRedirect(CART_URLPATH); exit; ↓(変更) //カゴに入れた直後にカート画面に飛ばない。携帯とスマートフォンには適用しない。 if(SC_Display_Ex::detectDevice() == DEVICE_TYPE_MOBILE || SC_Display_Ex::detectDevice() == DEVICE_TYPE_SMARTPHONE) { SC_Response_Ex::sendRedirect(CART_URLPATH); exit; } else { //セッションに商品を買った事を保持する $_SESSION[‘cart_buy_now’] = TRUE; //リンク元のURLにリダイレクトさせる SC_Response_Ex::sendRedirect($_SERVER[‘HTTP_REFERER’]); exit; } [/php] ② 245行目あたりに追加 function action()内の一番最後 [php] //カートに入れた状態をセッションで一時的に保持。アサイン後初期化。携帯とスマートフォンには適用しない。 if(SC_Display_Ex::detectDevice() == DEVICE_TYPE_MOBILE || SC_Display_Ex::detectDevice() == DEVICE_TYPE_SMARTPHONE) { } else { if ($_SESSION[‘cart_buy_now’] === true) { $_SESSION[‘cart_buy_now’] = ”; $this->CartBuyNow = true; } } [/php] (2)■/data/Smarty/templates/default/products/list.tpl 一番下 の後に [php] [/php]
**********************************************
↓こちらのページで、さらに機能を追加
https://itoben.com/style/504.html
**********************************************
カゴに入れた直後にカート画面に飛ばないようにするとともに、「カゴに商品が追加されました」というメッセージを表示する。
下記のようにコード2行をコメントアウトするだけでもカート画面に飛ばなくなるが、ブラウザの更新ボタンをクリックすると、カゴの中の数量が1つずつ増えてしまうので、ちょっとだけ手の込んだカスタマイズをする。
★なお、携帯とスマートフォンには適用しない。
// SC_Response_Ex::sendRedirect(CART_URLPATH);
// exit;
▼商品詳細ページ(Firefox)
![03040](https://itoben.com/style/wp-content/uploads/2012/03/03040-500x284.jpg)
商品一覧ページ(IE)
![03041](https://itoben.com/style/wp-content/uploads/2012/03/03041-500x269.jpg)
1 商品詳細ページ
(1)■data/class/pages/products/LC_Page_Products_Detail.php
① 160行目あたりを変更
[php]
SC_Response_Ex::sendRedirect(CART_URLPATH);
exit;
↓(変更)
//カゴに入れた直後にカート画面に飛ばない。携帯とスマートフォンには適用しない。
if(SC_Display_Ex::detectDevice() == DEVICE_TYPE_MOBILE || SC_Display_Ex::detectDevice() == DEVICE_TYPE_SMARTPHONE) {
SC_Response_Ex::sendRedirect(CART_URLPATH);
exit;
} else {
//セッションに商品を買った事を保持する
$_SESSION[‘cart_buy_now’] = TRUE;
//リンク元のURLにリダイレクトさせる
SC_Response_Ex::sendRedirect($_SERVER[‘HTTP_REFERER’]);
exit;
}
[/php]
② 337行目あたりに追加 function action()内の一番最後
[php]
//カートに入れた状態をセッションで一時的に保持。アサイン後初期化。携帯とスマートフォンには適用しない。
if(SC_Display_Ex::detectDevice() == DEVICE_TYPE_MOBILE || SC_Display_Ex::detectDevice() == DEVICE_TYPE_SMARTPHONE) {
} else {
if ($_SESSION[‘cart_buy_now’] === true) {
$_SESSION[‘cart_buy_now’] = ”;
$this->CartBuyNow = true;
}
// カテゴリーIDをアサイン
$this->tpl_Category_Id = $_GET[‘category_id’];
}
[/php]
(2)■/data/Smarty/templates/default/products/detail.tpl
① 45行目あたりを変更
[php]