จากสิ่งที่ฉันเข้าใจคุณไม่สามารถใช้งาน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 บนบล็อกอยู่แล้วเนื่องจากบล็อกจะไม่ถูกแสดงผลและไม่ย้าย
หวังว่ามันสมเหตุสมผล