質問 > その他 > Filterの設定。ショップに対応した販売種別を表示選択できるようにしたい。 |
その他
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
uraa |
投稿日時: 2021/1/28 17:54
対応状況: −−−
|
常連 登録日: 2020/12/15 居住地: 投稿: 65 |
Filterの設定。ショップに対応した販売種別を表示選択できるようにしたい。 ec-cube4でサイトを作成しています。
初心者なので知識不足な部分が多々あるかと思いますがよろしくお願いいたします。 複数のショップが商品を登録して販売するモール型のサイトを作成しており、下記のプラグインをカスタマイズして利用させていただいているのですが (プラグイン:https://www.ec-cube.net/products/detail.php?product_id=2030) こちらの設定では販売種別がショップに応じた固定の1つだけしか表示されないようになっています。固定を解除し全ての販売種別を表示することは簡単なのですが、可能なら、ショップごとに登録した複数の販売種別を表示するようにしたいです。 --------------------------------------------- イメージ↓ ショップAでログイン →商品登録画面で販売種別の佐川急便(クール便)と佐川急便(通常便)を取得 ショップBでログイン →商品登録画面で販売種別のクロネコヤマト(クール便)を取得 サイト管理者 →商品登録画面で全ての販売種別を取得 --------------------------------------------- 変更する箇所は以下のあたりかなと思っているのですが・・・ よく分からず困っています。 ↓OwnShopFilter.php --------------------------------------------- public function addFilterConstraint(ClassMetadata $targetEntity, $targetTableAlias) { if (!is_null($this->saleTypeId)) { if (in_array( $targetEntity->reflClass->getName(), [SaleType::class] )) { return $targetTableAlias.'.id = '.$this->getParameter('sale_type_id'); } } return ''; } --------------------------------------------- ↓ShoppingMallEvent.php --------------------------------------------- public function onKernelController(FilterControllerEvent $event) { if ($this->requestContext->isAdmin()) { $Member = $this->requestContext->getCurrentUser(); if ($Member instanceof Member && $Member->isShop()) { // 自ショップの情報のみ取得するフィルター設定 $config = $this->entityManager->getConfiguration(); $config->addFilter('own_shop_product', OwnShopFilter::class); /** @var OwnShopFilter $filter */ $filter = $this->entityManager->getFilters()->enable('own_shop_product'); $filter->setShopId($Member->getShop()); } } } --------------------------------------------- 詳しい方がいらっしゃったら教えて頂ければ助かります。 どうかよろしくお願いいたします。 |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |