バージョン選択

フォーラム

メニュー

オンライン状況

33 人のユーザが現在オンラインです。 (24 人のユーザが フォーラム を参照しています。)
登録ユーザ: 0
ゲスト: 33
もっと...

サイト内検索

質問 > フロント機能 > 会員登録画面で追加した項目を、買い物時にdtb_orderへ格納させたい

フロント機能

新規スレッドを追加する

フラット表示 前のトピック | 次のトピック
投稿者 スレッド
yuh
投稿日時: 2014/3/7 23:12
対応状況: −−−
登録日: 2013/1/9
居住地: 大阪
投稿: 1819
Re: 会員登録画面で追加した項目を、買い物時にdtb_orderへ格納させたい
すいません。
思いっきりバージョンが間違えてました。
2.11.4が無かったので2.11.5でためしに作ってみました。

家に帰ってきてためしに作ってみたので下記に変更部分記載します。

SC_Helper_PurchaseのcopyFromCustomerを下記に変更

    function copyFromCustomer(&$dest, &$objCustomer, $prefix = 'order',
                              $keys = array('name01', 'name02', 'kana01', 'kana02',
                                            'sex', 'zip01', 'zip02', 'pref',
                                            'addr01', 'addr02',
                                            'tel01', 'tel02', 'tel03', 'job',
                                            'birth', 'email')) {
        if ($objCustomer->isLoginSuccess(true)) {

            foreach ($keys as $key) {
                if (in_array($key, $keys)) {
                    $dest[$prefix . '_' . $key] = $objCustomer->getValue($key);
                }
            }

            if ((SC_Display_Ex::detectDevice() == DEVICE_TYPE_MOBILE)
                && in_array('email', $keys)
            ) {
                $email_mobile = $objCustomer->getValue('email_mobile');
                if (empty($email_mobile)) {
                    $dest[$prefix . '_email'] = $objCustomer->getValue('email');
                } else {
                    $dest[$prefix . '_email'] = $email_mobile;
                }
            }
            $dest['tuika'] = $objCustomer->getValue('tuika');
            $dest['tuika2'] = $objCustomer->getValue('tuika2');
            $dest['tuika3'] = $objCustomer->getValue('tuika3');
            $dest['customer_id'] = $objCustomer->getValue('customer_id');
            $dest['update_date'] = 'CURRENT_TIMESTAMP';
        }
    }

LC_Page_ShoppingのlfRegistDataを下記に変更

    function lfRegistData($uniqid, &$objPurchase, &$objCustomer, &$objFormParam,
                          $isMultiple = false) {
        $arrParams = $objFormParam->getHashArray();
        $arrValues = $objFormParam->getDbArray();
        // 登録データの作成
        $arrValues['order_birth'] = SC_Utils_Ex::sfGetTimestamp($arrParams['year'], $arrParams['month'], $arrParams['day']);
        $arrValues['update_date'] = 'CURRENT_TIMESTAMP';
        $arrValues['customer_id'] = '0';

        // お届け先を指定しない場合、
        if ($arrParams['deliv_check'] != '1') {
            // order_* を shipping_* へコピー
            $objPurchase->copyFromOrder($arrValues, $arrParams);
        }

        /*
         * order_* と shipping_* をそれぞれ $_SESSION['shipping'][$shipping_id]
         * に, shipping_* というキーで保存
         */
        foreach ($arrValues as $key => $val) {
            if (preg_match('/^order_/', $key)) {
                $arrOrder['shipping_' . str_replace('order_', '', $key)] = $val;
            } elseif (preg_match('/^shipping_/', $key)) {
                $arrShipping[$key] = $val;
            }
        }

        if ($isMultiple) {
            $objPurchase->saveShippingTemp($arrOrder, 0);
            if ($arrParams['deliv_check'] == '1') {
                $objPurchase->saveShippingTemp($arrShipping, 1);
            }
        } else {
            if ($arrParams['deliv_check'] == '1') {
                $objPurchase->saveShippingTemp($arrShipping, 0);
            } else {
                $objPurchase->saveShippingTemp($arrOrder, 0);
            }
        }
		$arrValues['tuika'] = $objFormParam->getValue('tuika');
		$arrValues['tuika2'] = $objFormParam->getValue('tuika2');
		$arrValues['tuika3'] = $objFormParam->getValue('tuika3');
        $objPurchase->saveOrderTemp($uniqid, $arrValues, $objCustomer);
    }
    
    

LC_Page_ShoppingのlfInitParamに下記を追加

    function lfInitParam(&$objFormParam) {
        $objFormParam->addParam("追加データ", "tuika", INT_LEN, 'n', array("EXIST_CHECK", "MAX_LENGTH_CHECK", "NUM_CHECK"));
		$objFormParam->addParam("追加データ", "tuika2", INT_LEN, 'n', array("EXIST_CHECK", "MAX_LENGTH_CHECK", "NUM_CHECK"));
		$objFormParam->addParam("追加データ", "tuika3", INT_LEN, 'n', array("EXIST_CHECK", "MAX_LENGTH_CHECK", "NUM_CHECK"));

上記3箇所とテンプレート周りの追加でできました。
思いっきりバージョンを勘違いして混乱させてすみません。

メールを送ってもらえればこちらで作ったファイルを送ります。
フラット表示 前のトピック | 次のトピック


題名 投稿者 日時
   会員登録画面で追加した項目を、買い物時にdtb_orderへ格納させたい kanaryo 2014/3/6 18:43
     Re: 会員登録画面で追加した項目を、買い物時にdtb_orderへ格納させたい yuh 2014/3/6 22:37
       Re: 会員登録画面で追加した項目を、買い物時にdtb_orderへ格納させたい kanaryo 2014/3/7 9:27
         Re: 会員登録画面で追加した項目を、買い物時にdtb_orderへ格納させたい yuh 2014/3/7 10:49
           Re: 会員登録画面で追加した項目を、買い物時にdtb_orderへ格納させたい kanaryo 2014/3/7 11:14
             Re: 会員登録画面で追加した項目を、買い物時にdtb_orderへ格納させたい yuh 2014/3/7 11:27
               Re: 会員登録画面で追加した項目を、買い物時にdtb_orderへ格納させたい kanaryo 2014/3/7 11:59
                 Re: 会員登録画面で追加した項目を、買い物時にdtb_orderへ格納させたい yuh 2014/3/7 13:53
                   Re: 会員登録画面で追加した項目を、買い物時にdtb_orderへ格納させたい kanaryo 2014/3/7 14:32
                     Re: 会員登録画面で追加した項目を、買い物時にdtb_orderへ格納させたい yuh 2014/3/7 15:12
                       Re: 会員登録画面で追加した項目を、買い物時にdtb_orderへ格納させたい kanaryo 2014/3/7 16:23
                         Re: 会員登録画面で追加した項目を、買い物時にdtb_orderへ格納させたい yuh 2014/3/7 16:52
                           Re: 会員登録画面で追加した項目を、買い物時にdtb_orderへ格納させたい kanaryo 2014/3/7 17:26
                             Re: 会員登録画面で追加した項目を、買い物時にdtb_orderへ格納させたい yuh 2014/3/7 18:43
                               Re: 会員登録画面で追加した項目を、買い物時にdtb_orderへ格納させたい kanaryo 2014/3/7 19:13
                               » Re: 会員登録画面で追加した項目を、買い物時にdtb_orderへ格納させたい yuh 2014/3/7 23:12
                                   Re: 会員登録画面で追加した項目を、買い物時にdtb_orderへ格納させたい kanaryo 2014/3/10 10:10

 



ログイン


EC-CUBE公式 Amazon Payプラグイン

統計情報

総メンバー数は89,136名です
総投稿数は110,040件です

投稿数ランキング

1
seasoft
7367
2
468
3217
3
AMUAMU
2712
4
nanasess
2314
5
umebius
2085
6
yuh
1819
7
h_tanaka
1649
8
red
1570
9
mcontact
1298
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
799
14 ramrun 789
15 karin 689
16 sumida 641
17
homan
633
18 DELIGHT 572
19
patapata
502
20
flealog
485


ネットショップの壺

EC-CUBEインテグレートパートナー

Copyright© EC-CUBE CO.,LTD. All Rights Reserved.