Magento 2: ifconfig в xml для включения/отключения модуля

Я создал конфигурацию для включения/отключения модуля. Если я выберу «Да» в настройках конфигурации, мой модуль будет виден спереди, иначе нет. Для этого я добавил условие ifConfig в checkout_cart_index.xml. Код 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 не работает в аргументах.

Я хочу добавить условие в тег аргумента или элемента для включения и отключения модуля, такого как тег блока.

Как я могу это сделать ? Пожалуйста помогите. Любая помощь будет оценена по достоинству.

Спасибо


person Niks    schedule 18.01.2017    source источник


Ответы (1)


Используя этот пульгин, вы можете поставить модуль включить условие отключения в элементах.

<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;
 }
person Sagar V    schedule 23.10.2020