İnternette İstediğiniz Gibi Çevrimiçi Para Kazanma!

Magento 2 Admin’de system.xml kullanılarak dinamik alan nasıl eklenir?

Şu yazıyı okuyorsunuz: Magento 2 Admin’de system.xml kullanılarak dinamik alan nasıl eklenir?

ad alanı Sağlayıcı\Modül\Block\Adminhtml\Config\Backend;

Magento\Framework\App\Cache\TypeListInterface’i kullanın;

Magento\Framework\App\Config\ScopeConfigInterface’i kullanın;

Magento\Framework\App\Config\Value’yu ConfigValue olarak kullanın;

Magento\Framework\Data\Collection\AbstractDb’yi kullanın;

Magento\Framework\Model\Context’i kullanın;

Magento\Framework\Model\ResourceModel\AbstractResource’u kullanın;

Magento\Framework\Registry’yi kullanın;

Magento\Framework\Serialize\SerializerInterface’i kullanın;

ArraySerialized sınıfı ConfigValue’yu genişletiyor

{

$korumalı serileştirici;

genel işlev __build(

SerileştiriciArayüz $seri hale getirici,

Bağlam $bağlam,

$ kayıt defterini kaydet,

ScopeConfigInterface $yapılandırma,

TypeListInterface $cacheTypeList,

SoyutKaynak $kaynak = null,

AbstractDb $resourceCollection = null,

dizi $veri = []

)

{

$this->serializer = $serializer;

parent::__construct($bağlam, $kayıt defteri, $yapılandırma, $cacheTypeList, $kaynak, $kaynakCollection, $veri);

}

Save()’den önce genel işlev

{

$değer = $this->getValue();

unset($değer[‘__empty’]);

$encodedValue = $this->serializer->serialize($value);

$this->setValue($encodedValue);

}

korumalı işlev _afterLoad()

{

$değer = $this->getValue();

if ($değer) {

$decodedValue = $this->serializer->unserialize($value);

$this->setValue($decodedValue);

}

}

}