バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

 > プラグイン > 配送方法選択にて選択肢を1つ消すプラグインを作りたい

プラグイン

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
topo
投稿日時: 2017/1/12 10:27
対応状況: −−−
常連
登録日: 2008/6/11
居住地: 岡山
投稿: 64
配送方法選択にて選択肢を1つ消すプラグインを作りたい
Ccube3.0.12にて、特定の条件の時だけ配送方法を1つ消すようなプラグインが作りたいのですが手順についてヒント頂けないでしょうか?

----------
■やりたい事
普通郵便を標準の配送方法に考えているサイトがある。
ただ大きな商品を購入した時だけ普通郵便では送れないので選択肢から消したい。

----------
■疑問点
そもそもプラグインが、
「要素を増やす」事には向いている気がするのですが
「要素を減らす」事に対して向いているのかどうかわからず
どうアプローチしたら良いか考えています。

----------

私だったらこのようにする・・・などご意見ありましたらお聞かせ頂ければ助かります。
よろしくお願い致しますm(_ _)m

468
投稿日時: 2017/1/12 17:40
対応状況: −−−
登録日: 2008/10/26
居住地:
投稿: 3217
Re: 配送方法選択にて選択肢を1つ消すプラグインを作りたい
完全にソースを追っていないので、合っているか分かりませんが、
/src/Eccube/Controller/ShoppingController.php 126行目と
/src/Eccube/Controller/ShoppingController.php 188行目で配送方法プルダウンの中身を組み立てていると思います。

$builder = $app['eccube.service.shopping']->getShippingFormBuilder($Order);

上記の処理の後に、それぞれ以下のローカルフックポイントがあるようですので、
FRONT_SHOPPING_INDEX_INITIALIZE
FRONT_SHOPPING_CONFIRM_INITIALIZE
プラグイン側で、$builderを自分の思う形で組み立て直せばいいのではないかと思います。

以下の記述のaddで、shipping_itemを自分の思う条件のformtype(プラグイン内で用意)に置き換えれば良いかと思います。

$builder
->add('shippings', 'collection', array(
'type' => 'shipping_item',
'data' => $Order->getShippings(),
));

formtypeは、/src/Eccube/Form/Type/ShippingItemType.phpの記述が元になるかと思います。
元々、このファイルで受注内容に合わせて選択肢を変えていると思いますので。


----------------
株式会社シロハチ
■ECCUBE2系、3系構築カスタマイズご相談ください。
EC-CUBE3マニュアル
blog

スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


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

統計情報

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

投稿数ランキング

1
seasoft
7367
2
468
3217
3
AMUAMU
2712
4
nanasess
2313
5
umebius
2085
6
yuh
1819
7
h_tanaka
1638
8
red
1570
9
mcontact
1286
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.