Pelo que eu entendo, você não pode usar ifconfig
em movimento. Na classe, Magento\Framework\View\Layout\Reader\Block.php
há uma verificação do atributo ifconfig
:
$configPath = (string)$currentElement->getAttribute('ifconfig');
source:
https://github.com/magento/magento2/blob/2.3-develop/lib/internal/Magento/Framework/View/Layout/Reader/Block.php
No entanto, no bloco de movimentação, na verdade, não verifica o ifconfig
atributo:
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
No Theroy, você não precisa do ifconfig em movimento, se já houver um ifconfig no bloco, pois o bloco não será renderizado e, portanto, não será movido.
Espero que isso faça sentido.