fontis / customergroupaccess-mage2
该包已被废弃且不再维护。未建议替代包。
为在您的 Magento 2 扩展中实现基于客户组的访问提供便利类。
1.0.6
2021-02-15 22:16 UTC
Requires
- php: ~5.6.0|~7.0.0|~7.1.0|~7.2.0|~7.3.0|~7.4.0
- magento/framework: 100.*|101.*|102.*|103.*
- magento/module-customer: 100.*|101.*|102.*|103.*
- magento/module-store: 100.*|101.*|103.*
README
这是一个独立的包,旨在帮助扩展限制对某些客户组的功能,如支付方式等。
这不是一个 Magento 2 扩展。它本身不会做任何事情。它旨在供开发人员在实现扩展时使用。
推荐安装此包的方法是在其 composer.json
文件的 require
部分添加以下行
{
...
"require": {
...
"fontis/customergroupaccess-mage2": "1.0.*",
...
},
...
}
将此包作为依赖项添加后,请按照以下说明在您的扩展中实际使用此包
- 在您的系统.xml 文件中添加两个设置,使用相关源模型
- 这个
customer_group_access
使用Fontis\CustomerGroupAccess\Source\CustomerGroupAccess
- 那个
customer_group
使用Fontis\CustomerGroupAccess\Source\CustomerGroup
-
在您的
di.xml
文件中,定义一个virtualType
。configPathPrefix
应该是包含您添加的设置的章节和组 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
-
使用虚拟类型配置需要执行访问检查的模型
<type name="MyNamespace\MyModule\Model\MyFeature\MyModel"> <arguments> <argument name="accessCheckFactory" xsi:type="object">myModuleMyFeatureCustomerGroupAccessCheckFactory</argument> </arguments> </type>
-
在您的模型的构造函数中,接受此类作为其中一个参数
Fontis\CustomerGroupAccess\AccessCheckFactory
-
当您实际上需要执行访问检查时,使用工厂创建访问检查类的实例。如果需要在非当前店铺的上下文中执行检查,您需要传递一个店铺 ID
$accessCheck = $this->accessCheckFactory->create(array("storeId" => $this->getStore()));
-
通过调用
check()
方法并传递一个客户组 ID 来执行检查。如果它返回 true,则允许他们使用您提供的任何内容。如果返回 false,则不允许。简单!