我已经为启用/禁用模块创建了配置。如果我从配置设置中选择“是”,则我的模块在前面可见,否则不可见。 为此,我在checkout_cart_index.xml中添加了ifConfig条件。 xml代码如下所示。
<referenceContainer name="cart.summary">
<block class="Mageniks\Test\Block\Test" before="-" ifconfig="mageniks/general/active" name="displaytest" template="Mageniks_Test::cart.phtml">
</block>
</referenceContainer>
<referenceBlock name="checkout.cart.totals">
<arguments>
<argument name="jsLayout" xsi:type="array">
<item name="components" xsi:type="array">
<item name="block-totals" xsi:type="array">
<item name="children" xsi:type="array">
<item name="fee" xsi:type="array" remove="true">
<item name="component" xsi:type="string">Mageniks_Test/js/view/checkout/cart/totals/fee</item>
<item name="sortOrder" xsi:type="string">20</item>
<item name="config" xsi:type="array">
<item name="template" xsi:type="string">Mageniks_Test/checkout/cart/totals/fee</item>
<item name="title" xsi:type="string" translate="true">Fee</item>
</item>
</item>
</item>
</item>
</item>
</argument>
</arguments>
</referenceBlock>
Ifconfig仅在使用块时才起作用。 Ifconfig不在参数中工作。
我想在参数或项目标签中添加条件,以启用和禁用模块,例如块标记。
我该怎么做?请帮我。任何帮助将不胜感激。
由于
答案 0 :(得分:0)
使用此插件,您可以将模块启用禁用条件放在项目中
<type name="Magento\Checkout\Block\Cart\LayoutProcessor">
<plugin name="CartStorecreditDisable"
type="Vendor\Module\Plugin\CartStorecreditDisable"/>
</type>
在插件中,
use Magento\Checkout\Block\Cart\LayoutProcessor;
public function afterProcess(
LayoutProcessor $processor,
array $jsLayout
){
$enable = $this->helper->getConfig('storecredit/general/enable');
if($enable == 0){
$jsLayout['components']['block-totals']['children']['storecredit']['config']['componentDisabled'] = true;
}
return $jsLayout;
}