質問 > フロント機能 > 商品規格のデフォルト値について |
フロント機能
フラット表示 | 前のトピック | 次のトピック |
投稿者 | スレッド |
---|---|
Case |
投稿日時: 2022/5/13 20:00
対応状況: −−−
|
新米 登録日: 2022/4/27 居住地: 投稿: 2 |
商品規格のデフォルト値について [EC-CUBE] 4.1.2、新規インストール
[OS]Windows 10 Pro、19042.1645 [PHP]7.4.29 [データベース]MariaDB 10.4.24 [WEBサーバ]Apache 2.4.53 [ブラウザ]Google Chrome、100.0.4896.127(Official Build)(64 ビット) [導入プラグインの有無]無 [現象] 商品一覧と商品詳細ページに表示される商品規格のデフォルト値を「選択してください」ではなく、 下記例のように規格1には「A」を、規格2には「100」をデフォルトで表示するにはどのようにすれば良いでしょうか? ご教授の程、よろしくお願い致します。 ※商品規格は規格1と規格2を設定してあります。 例: 規格1 A ←デフォルト表示させたい B 規格2 100 ←デフォルト表示させたい 200 規格1のみの場合は、下記スレッドより「src/Eccube/Form/Type/AddCartType.php」の 116行目「['common.select' => '__unselected'] +」を削除する事で実現できました。 https://xoops.ec-cube.net/modules/newbb/viewtopic.php?viewmode=flat&topic_id=25116&forum=10 【実際コード(112行目~141行目)】 if ($Product && $Product->getProductClasses()) { if (!is_null($Product->getClassName1())) { $builder->add('classcategory_id1', ChoiceType::class, [ 'label' => $Product->getClassName1(), 'choices' => ['common.select' => '__unselected'] + $Product->getClassCategories1AsFlip(), 'mapped' => false, ]); } if (!is_null($Product->getClassName2())) { $builder->add('classcategory_id2', ChoiceType::class, [ 'label' => $Product->getClassName2(), 'choices' => ['common.select' => '__unselected'], 'mapped' => false, ]); } } $builder->addEventListener(FormEvents::PRE_SUBMIT, function (FormEvent $event) use ($Product) { $data = $event->getData(); $form = $event->getForm(); if (isset($data['classcategory_id1']) && !is_null($Product->getClassName2())) { if ($data['classcategory_id1']) { $form->add('classcategory_id2', ChoiceType::class, [ 'label' => $Product->getClassName2(), 'choices' => ['common.select' => '__unselected'] + $Product->getClassCategories2AsFlip($data['classcategory_id1']), 'mapped' => false, ]); } } }); |
フラット表示 | 前のトピック | 次のトピック |
題名 | 投稿者 | 日時 |
---|---|---|
» 商品規格のデフォルト値について | Case | 2022/5/13 20:00 |
Re: 商品規格のデフォルト値について | yuh | 2022/12/13 12:16 |