Я работаю с magento 2.
Я могу использовать атрибут ifconfig в коде блока, и он работает хорошо.
<block class="Magento\Catalog\Block\Category\View" name="category_desc_main_column" template="category/desc_main_column.phtml" ifconfig="config_path/group/field" before="category.products"/>
Но я пытался использовать его для перемещения, это не сработало.
<move element="category.image" destination="content" ifconfig="config_path/group/field" before="-"/>
Кто-нибудь знает, как использовать его для перемещения?
Ответы:
Из того, что я понимаю, вы не можете использовать
ifconfig
на ходу. В классеMagento\Framework\View\Layout\Reader\Block.php
есть проверка на атрибутifconfig
:$configPath = (string)$currentElement->getAttribute('ifconfig');
источник:
https://github.com/magento/magento2/blob/2.3-develop/lib/internal/Magento/Framework/View/Layout/Reader/Block.php
Однако на ходу блок фактически не проверяет
ifconfig
атрибут:https://github.com/magento/magento2/blob/2.3-develop/lib/internal/Magento/Framework/View/Layout/Reader/Move.php#L49
В Theroy вам не нужен ifconfig на ходу, если в блоке уже есть ifconfig, поскольку блок не будет отображаться и, следовательно, не перемещаться.
Надеюсь, что это имеет смысл.
источник