バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > 管理機能 > 管理者とは別のメンバーの商品管理に表示される商品を制限したい

管理機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
ゲスト
投稿日時: 2019/1/19 2:20
対応状況: 開発中
管理者とは別のメンバーの商品管理に表示される商品を制限したい
[EC-CUBE] EC-CUBE 4.0.0
[レンタルサーバ] KAGOYA CLOUD 2
[OS] CentOS7
[PHP] PHP 7.1.25
[データベース] MySQL
[WEBサーバ] Apache
[ブラウザ] Google chrome
[導入プラグインの有無] 無し
[カスタマイズの有無] 無し
[現象] 管理者とは別にメンバー(管理者B)を追加したのですが、そのメンバーの商品一覧に特定のカテゴリに含まれる商品のみ表示されるようにしたいです。

これを実現するには、どのようなカスタマイズをすればいいのでしょうか。
nyorai
投稿日時: 2019/1/30 11:08
対応状況: −−−
仙人
登録日: 2015/8/21
居住地:
投稿: 302
Re: 管理者とは別のメンバーの商品管理に表示される商品を制限したい
DocteineのSQLフィルタを使えばできるかもしれません。
https://www.doctrine-project.org/projects/doctrine-orm/en/2.6/reference/filters.html

src/Eccube/Doctrine/Fileter/MemberFiler.php を作成して、以下のコードのようになります。


amespace Eccube\Doctrine\Filter;

use Doctrine\ORM\Mapping\ClassMetadata;
use Doctrine\ORM\Query\Filter\SQLFilter;
use Eccube\Entity\Member;
use Symfony\Bundle\FrameworkBundle\Controller\ControllerTrait;

class MemberFilter extends SQLFilter
{
    use ControllerTrait;

    public function addFilterConstraint(ClassMetadata $targetEntity, $targetTableAlias)
    {
        $user = $this->getUser();
        if ($user instanceof Member) {
            if ($targetEntity->reflClass->getName() === 'Eccube\Entity\Product') {
                return $targetTableAlias.'.creator_id = '.$user->getId();
            }
        }

        return '';
    }
}


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


 



ログイン


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

統計情報

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

投稿数ランキング

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