[Svn-src-all:1547] [version-2_5-dev 20443] r1023(モバイルカートでSC_Response_Ex::reload()だと無限リダイレクト)

nanasess admin @ mail.ec-cube.net
2011年 2月 28日 (月) 19:03:31 JST


Subversion committed to /home/svn/open 20443
http://svn.ec-cube.net/open_trac/changeset/20443
┌────────────────────────────┐
│更新者 :  nanasess                                     │
│更新日時:  2011-02-28 19:03:31 +0900 (月, 28  2月 2011)│
└────────────────────────────┘

Log:
--------------------------------------------------------
r1023(モバイルカートでSC_Response_Ex::reload()だと無限リダイレクト)
 * SC_Response::reload() の第二引数を true にすることで対応
#982([フロント]カート画面)
 * 店舗基本情報が取得できなくなっていたのを修正


Changed:                      [U:修正,A:追加,D:削除]
--------------------------------------------------------
U   branches/version-2_5-dev/data/class/pages/cart/LC_Page_Cart.php

変更: branches/version-2_5-dev/data/class/pages/cart/LC_Page_Cart.php
===================================================================
--- branches/version-2_5-dev/data/class/pages/cart/LC_Page_Cart.php	2011-02-28 09:36:28 UTC (rev 20442)
+++ branches/version-2_5-dev/data/class/pages/cart/LC_Page_Cart.php	2011-02-28 10:03:31 UTC (rev 20443)
@@ -23,9 +23,6 @@
 
 // {{{ requires
 require_once(CLASS_EX_REALDIR . "page_extends/LC_Page_Ex.php");
-if (file_exists(MODULE_REALDIR . "mdl_gmopg/inc/function.php")) {
-    require_once(MODULE_REALDIR . "mdl_gmopg/inc/function.php");
-}
 
 /**
  * カート のページクラス.
@@ -38,12 +35,6 @@
 
     // {{{ properties
 
-    /** セッションの配列 */
-    var $arrSession;
-
-    /** カテゴリの配列 */
-    var $arrProductsClass;
-
     /** 商品規格情報の配列 */
     var $arrData;
 
@@ -86,9 +77,8 @@
     function action() {
         $objCartSess = new SC_CartSession();
         $objSiteSess = new SC_SiteSession();
-        $objSiteInfo = $objView->objSiteInfo;
         $objCustomer = new SC_Customer();
-        
+
         $objFormParam = $this->lfInitParam($_REQUEST);
         $this->mode = $this->getMode();
 
@@ -103,7 +93,7 @@
 
         $cart_no = $objFormParam->getValue('cart_no');
         $cartKey = $objFormParam->getValue('cartKey');
-        
+
         switch($this->mode) {
         case 'confirm':
             // カート内情報の取得
@@ -119,25 +109,23 @@
             break;
         case 'up'://1個追加
             $objCartSess->upQuantity($cart_no, $cartKey);
-            //SC_Response_Ex::reload();
-            $this->lfReload();
+            SC_Response_Ex::reload(array(), true);
+            exit;
             break;
         case 'down'://1個減らす
             $objCartSess->downQuantity($cart_no, $cartKey);
-            //SC_Response_Ex::reload();
-            $this->lfReload();
+            SC_Response_Ex::reload(array(), true);
+            exit;
             break;
         case 'delete'://カートから削除
             $objCartSess->delProduct($cart_no, $cartKey);
-            //SC_Response_Ex::reload();
-            $this->lfReload();
+            SC_Response_Ex::reload(array(), true);
+            exit;
             break;
         default:
             break;
         }
-
-        // 基本情報の取得
-        $this->arrInfo = $objSiteInfo->data;
+        $this->arrInfo = SC_Helper_DB_Ex::sfGetBasisData();
         foreach ($this->cartKeys as $key) {
             // カート集計処理
             $this->tpl_message = $objCartSess->checkProducts($key);
@@ -173,7 +161,6 @@
     function destroy() {
         parent::destroy();
     }
-    
 
     /**
      * ユーザ入力値の処理
@@ -188,14 +175,14 @@
         $objFormParam->setParam($arrRequest);
         // 入力値の変換
         $objFormParam->convParam();
-        return $objFormParam;        
+        return $objFormParam;
     }
 
     /**
      * order_temp_id の更新
      *
-     * @return 
-     */    
+     * @return
+     */
     function lfUpdateOrderTempid($pre_uniqid,$uniqid){
         $sqlval['order_temp_id'] = $uniqid;
         $where = "order_temp_id = ?";
@@ -211,7 +198,7 @@
      * 前頁のURLを取得
      *
      * @return void
-     */        
+     */
     function lfGetCartPrevUrl(&$session,$referer){
         if (!preg_match("/cart/", $referer)) {
             if (!empty($session['cart_referer_url'])) {
@@ -228,14 +215,14 @@
         // 妥当性チェック
         if (!SC_Utils_Ex::sfIsInternalDomain($session['cart_prev_url'])) {
             $session['cart_prev_url'] = '';
-        }  
+        }
     }
-    
+
     /**
      * カートを購入モードに設定
      *
      * @return void
-     */            
+     */
     function lfSetCurrentCart(&$objSiteSess,&$objCartSess){
         // 正常に登録されたことを記録しておく
         $objSiteSess->setRegistFlag();
@@ -250,23 +237,5 @@
         // カートを購入モードに設定
         $objCartSess->saveCurrentCart($uniqid, $cartKey);
     }
-
-    /**
-     * 端末ごとのリロード処理
-     *
-     * @return void
-     */                
-    function lfReload(){
-        //FIXME SC_Response_Ex::reload()だと携帯で無限リダイレクト
-        if(SC_Display::detectDevice() == DEVICE_TYPE_MOBILE){
-            $_SERVER['REQUEST_URI'] = str_replace("mode=delete","",$_SERVER['REQUEST_URI']);
-            $_SERVER['REQUEST_URI'] = str_replace("mode=up","",$_SERVER['REQUEST_URI']);
-            $_SERVER['REQUEST_URI'] = str_replace("mode=down","",$_SERVER['REQUEST_URI']);
-            $_SERVER['REQUEST_URI'] = str_replace("&&","&",$_SERVER['REQUEST_URI']);
-            $this->objDisplay->reload();
-            exit;
-        }
-        SC_Response_Ex::reload();
-    }
 }
 ?>




Svn-src-all メーリングリストの案内