З того, що я розумію, ви не можете використовувати 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
атрибут:
protected function scheduleMove(Layout\ScheduledStructure $scheduledStructure, Layout\Element $currentElement)
{
$elementName = (string)$currentElement->getAttribute('element');
$destination = (string)$currentElement->getAttribute('destination');
$alias = (string)$currentElement->getAttribute('as') ?: '';
if ($elementName && $destination) {
list($siblingName, $isAfter) = $this->beforeAfterToSibling($currentElement);
$scheduledStructure->setElementToMove(
$elementName,
[$destination, $siblingName, $isAfter, $alias]
);
} else {
throw new \Magento\Framework\Exception\LocalizedException(
new \Magento\Framework\Phrase('Element name and destination must be specified.')
);
}
return $this;
}
https://github.com/magento/magento2/blob/2.3-develop/lib/internal/Magento/Framework/View/Layout/Reader/Move.php#L49
У Theroy вам не знадобиться ifconfig в русі, якщо на блоці вже є ifconfig, оскільки блок не буде наданий і, отже, не переміщений.
Сподіваюся, що це має сенс.