Magento 2 Bagaimana cara membuat pengaturan tabel dalam konfigurasi sistem admin?


9

Menurut magento 1, kami memperluas dari "adminhtml / system_config_backend_serialized_array" untuk membuat tabel seperti ini: masukkan deskripsi gambar di sini

Pertanyaan saya adalah: Bagaimana kita membuatnya di Magento 2?

Sunting: Akhirnya, dengan bantuan @Marius: bidang Pengecualian Agen-Pengguna di System => Configuration => General => Design => Tema Desain.

masukkan deskripsi gambar di sini

Kita dapat membuat konfigurasi tabel baru berdasarkan bidang ini dengan melihat kode "Magento \ Config \ Block \ System \ Config \ Form \ Field \ Regexceptions"



Terima kasih. Tapi saya pikir jawaban dari @Marius adalah yang saya butuhkan.
thienphucvx

Jawaban:


14

Anda dapat melakukannya dengan menggunakan, Perusahaan / Modulename / etc / adminhtml / system.xml

Di bawah bagian -> bidang grup

<field id="mapping" translate="label comment tooltip" sortOrder="80" showInDefault="1" showInWebsite="1" showInStore="0">
    <label>Customer Fields Mapping</label>
    <frontend_model>Company\Modulename\Block\Adminhtml\System\Config\Form\Field\Customermap</frontend_model>
    <backend_model>Magento\Config\Model\Config\Backend\Serialized\ArraySerialized</backend_model>
    <comment>
        <![CDATA[Add the comments!]]>
    </comment>
    <tooltip>Map the magento customer field to custom module merge_fields</tooltip>
</field>

Dalam file model frontend di dalam blok,

<?php
namespace Company\Modulename\Block\Adminhtml\System\Config\Form\Field;

class Customermap extends \Magento\Config\Block\System\Config\Form\Field\FieldArray\AbstractFieldArray
{
    /**
     * @var \Magento\Framework\Data\Form\Element\Factory
     */
    protected $_elementFactory;

    /**
     * @param \Magento\Backend\Block\Template\Context $context
     * @param \Magento\Framework\Data\Form\Element\Factory $elementFactory
     * @param array $data
     */
    public function __construct(
        \Magento\Backend\Block\Template\Context $context,
        \Magento\Framework\Data\Form\Element\Factory $elementFactory,
        array $data = []
    )
    {
        $this->_elementFactory  = $elementFactory;
        parent::__construct($context,$data);
    }
    protected function _construct()
    {
        $this->addColumn('field1', ['label' => __('Field1')]);
        $this->addColumn('field2', ['label' => __('FIeld2')]);
        $this->_addAfter = false;
        $this->_addButtonLabel = __('Add');
        parent::_construct();
    }

}

Anda memiliki tabel tampilan di area konfigurasi dan setelah menyimpan nilainya disimpan di dalam core_config_datatabel.


itu bekerja dengan baik. Tetapi ketika saya simpan seperti <test>itu sedang ditampilkan &lt;test2&gt;. Ada saran?
Bojjaiah

Hai, setelah ragu, Jika saya ingin menambahkan grup lain yang terdiri dari bidang yang sama, model frontend, model backend yang telah Anda tambahkan di system.xml lalu bagaimana cara menambahkan grup lain dengan file system.xml yang sama. saat menambahkan grup baru, apakah akan memuat template dengan benar?
Jaisa

@Rakesh Jesadiya, Silakan lihat dan jawab magento.stackexchange.com/questions/212229/…
Jaisa

hai @rakesh Jesadiya, saya telah menambahkan bidang menggunakan kode di atas tetapi tidak dapat menyimpan dan ada kesalahan pada bidang konsol (qty) tidak didefinisikan.
faizanbeg

Bagaimana cara membuat baris dalam tabel konfigurasi admin ini secara terprogram?
Ashwani Shukla

4

Setara dengan adminhtml/system_config_backend_serialized_arraydi Magento 2 adalah Magento\Config\Model\Config\Backend\Serialized\ArraySerialized.
Anda dapat mengambil contoh bidang User-Agent Exceptionsdari konfigurasi dan mencoba untuk mereplikasi.
Bidang ini didefinisikan dalamMagento/Backend/etc/adminhtml/system.xml


Iya. Persis seperti yang saya cari. Terima kasih banyak.
thienphucvx

hai @ maarius, saya telah menambahkan bidang menggunakan kode $ this-> addColumn ('value', ['label' => __ ('Value')]); $ this-> addColumn ('qty', ['label' => __ ('Qty')]); tetapi tidak dapat menyimpan dan ada kesalahan pada bidang konsol (qty) tidak ditentukan. Tolong bantu
faizanbeg
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.