バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > フロント機能 > お支払方法を既選択にしたいです。

フロント機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
ゲスト
投稿日時: 2018/11/28 10:54
対応状況: −−−
お支払方法を既選択にしたいです。
▼テンプレート
[EC-CUBE] EC-CUBE 3.0.16
[サーバ ローカル環境] MAMP
[OS] MacOS 10.14.1
[PHP] PHP 7.2.8
[データベース] MySQL 5.7.23
[ブラウザ] chrome 70.0.3538.102
[導入プラグインの有無]
この商品をみた人はこんな商品もみています
HSDRelatedProduct

関連商品プラグイン
RelatedProduct

売上ランキング
SalesRanking

FAQ管理プラグイン
Shiro8Faq3

タグ検索 for EC-CUBE3
TagSearch

[カスタマイズの有無]
「サンプル請求」ボタンを「カートに入れる」ボタンと同列に追加し、商品種別Bとして設定しました。
サンプル請求された場合、「お支払方法」を既選択にするために改変を行いました。


/Applications/MAMP/htdocs/test1/src/Eccube/Form/Type/ShoppingType.php


/**
     * {@inheritdoc}
     */
    public function buildForm(FormBuilderInterface $builder, array $options)
    {

        $payments = $options['payments'];
        $payment = $options['payment'];
        $message = $options['message'];

        //ここから 追加しました。
        if (!$payment) {
            $payment = $this->app['eccube.repository.payment']->find(5);   
        }
        //ここまで 追加しました。

        $builder
            ->add('payment', 'entity', array(
                'class' => 'Eccube\Entity\Payment',
                'property' => 'method',
                'choices' => $payments,
                'data' => $payment,
                'expanded' => true,
                'constraints' => array(
                    new Assert\NotBlank(),
                ),
            ))
            ->add('message', 'textarea', array(
                'required' => false,
                'data' => $message,
                'constraints' => array(
                    new Assert\Length(array('min' => 0, 'max' => 3000))),
            ));


    }


[現象]
「ご注文内容のご確認」画面で「注文する」ボタンを押すと
FatalThrowableError in ShoppingController.php line 318:
Call to a member function getId() on null
というエラーが出るようになりました。

DBを見るとdtb_orderテーブルのpayment_idがnullになっていました。
DBに保存する段階で失敗していると思われます。

お支払方法を既選択状態で「注文する」ボタンが正常に動くようにするにはどうすればよろしいでしょうか?ご教授お願いします。
ゲスト
投稿日時: 2018/12/7 10:03
対応状況: 解決済
Re: お支払方法を既選択にしたいです。
自己解決しました。

管理画面の基本設定情報の支払方法設定から「サンプル請求」を「郵便振替」と名前を入れ替えることで「サンプル請求」が1択の場合でも既選択状態にすることができました。
src/Eccube/Form/Type/ShoppingType.php のソースの改変は元に戻して、設定画面上の工夫で解決出来ました。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


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

統計情報

総メンバー数は88,308名です
総投稿数は109,693件です

投稿数ランキング

1
seasoft
7365
2
468
3217
3
AMUAMU
2712
4
nanasess
2303
5
umebius
2085
6
yuh
1818
7
h_tanaka
1610
8
red
1568
9
mcontact
1240
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
796
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.