Magento 2 - xml düzeninde ifconfig


16

Magento 2 ile çalışıyorum.

Blok kodda ifconfig özniteliğini kullanabilir ve iyi çalışır.

<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"/>

Ama hareket için kullanmaya çalıştım, işe yaramadı.

<move element="category.image" destination="content" ifconfig="config_path/group/field" before="-"/>

Hareket için nasıl kullanılacağını bilen var mı?


Onu aradın mı? Bunu blok okuyucusunda görüyorum , ama hareket halinde olan hiçbir şey yok . Yapabileceğini düşünme.
nevvermind

İfconfig kullanmadan bunun başka bir yolu var mı?
Mike

Yanıtlar:


6

Anladığım kadarıyla ifconfighareket halindeyken kullanamazsın . Sınıfta Magento\Framework\View\Layout\Reader\Block.phpözellik için bir kontrol var ifconfig:

$configPath = (string)$currentElement->getAttribute('ifconfig');

kaynak:
https://github.com/magento/magento2/blob/2.3-develop/lib/internal/Magento/Framework/View/Layout/Reader/Block.php

Ancak taşıma bloğunda aslında özelliği kontrol etmez 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'da, blokta bir ifconfig zaten varsa, çünkü blok oluşturulmayacak ve bu nedenle taşınmayacaksa, ifconfig'in hareket halindeyken gerekmez.

Umarım mantıklıdır.


1.x gibi ifconfig'in güçlü özelliğine sahip herhangi bir uzantı var mı?
Mike

Hey @Dmitry veya farkında olmadığım biri olduğunu düşünmüyorum. İfconfig için neye ihtiyacınız var?
rob3000

örneğin: <action method = "setTemplate" ifconfig = "config_path / group / field" condition = "one_column"> <template> sayfa / 1column.phtml </template> </action> "ifconfig" ve "koşul" demek istedim
Mike
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.