fontis/customergroupaccess-mage2

该包已被废弃且不再维护。未建议替代包。

为在您的 Magento 2 扩展中实现基于客户组的访问提供便利类。

安装次数: 8,031

依赖项: 1

建议者: 0

安全性: 0

星标: 4

关注者: 11

分支: 6

公开问题: 0

类型:magento2-library

1.0.6 2021-02-15 22:16 UTC

This package is auto-updated.

Last update: 2022-12-16 10:39:38 UTC


README

这是一个独立的包,旨在帮助扩展限制对某些客户组的功能,如支付方式等。

不是一个 Magento 2 扩展。它本身不会做任何事情。它旨在供开发人员在实现扩展时使用。

推荐安装此包的方法是在其 composer.json 文件的 require 部分添加以下行

{
    ...
    "require": {
        ...
        "fontis/customergroupaccess-mage2": "1.0.*",
        ...
    },
    ...
}

将此包作为依赖项添加后,请按照以下说明在您的扩展中实际使用此包

  1. 在您的系统.xml 文件中添加两个设置,使用相关源模型
  • 这个 customer_group_access 使用 Fontis\CustomerGroupAccess\Source\CustomerGroupAccess
  • 那个 customer_group 使用 Fontis\CustomerGroupAccess\Source\CustomerGroup
  1. 在您的 di.xml 文件中,定义一个 virtualTypeconfigPathPrefix 应该是包含您添加的设置的章节和组 ID。

    <virtualType name="myModuleMyFeatureCustomerGroupAccessCheckFactory" type="Fontis\CustomerGroupAccess\AccessCheckFactory">
        <arguments>
            <argument name="configPathPrefix" xsi:type="string">my_settings_section/my_settings_group</argument>
        </arguments>
    </virtualType>

    使用此示例,一个设置的完整路径可能如下所示

    my_settings_section/my_settings_group/customer_group_access
    
  2. 使用虚拟类型配置需要执行访问检查的模型

    <type name="MyNamespace\MyModule\Model\MyFeature\MyModel">
        <arguments>
            <argument name="accessCheckFactory" xsi:type="object">myModuleMyFeatureCustomerGroupAccessCheckFactory</argument>
        </arguments>
    </type>
  3. 在您的模型的构造函数中,接受此类作为其中一个参数

    Fontis\CustomerGroupAccess\AccessCheckFactory
    
  4. 当您实际上需要执行访问检查时,使用工厂创建访问检查类的实例。如果需要在非当前店铺的上下文中执行检查,您需要传递一个店铺 ID

    $accessCheck = $this->accessCheckFactory->create(array("storeId" => $this->getStore()));
  5. 通过调用 check() 方法并传递一个客户组 ID 来执行检查。如果它返回 true,则允许他们使用您提供的任何内容。如果返回 false,则不允许。简单!