Magento 2 Làm cách nào để tạo cài đặt bảng trong cấu hình hệ thống quản trị viên?


9

Theo magento 1, chúng tôi mở rộng từ "adminhtml / system_config_backend_serialized_array" để tạo một bảng như thế này: nhập mô tả hình ảnh ở đây

Câu hỏi của tôi là: Làm thế nào chúng ta tạo ra nó trong magento 2?

Chỉnh sửa: Cuối cùng, với sự trợ giúp của @Marius: đó là trường Ngoại lệ tác nhân người dùng trong Hệ thống => Cấu hình => Chung => Thiết kế => Thiết kế chủ đề.

nhập mô tả hình ảnh ở đây

Chúng ta có thể tạo cấu hình bảng mới dựa trên trường này bằng cách xem mã của nó "Magento \ Config \ Block \ System \ Config \ Form \ Field \ Regexceptions"


nhìn vào này magento.stackexchange.com/questions/86147/... nó sẽ giúp đỡ
Bojjaiah

Cảm ơn bạn. Nhưng tôi nghĩ câu trả lời từ @Marius là thứ tôi cần.
thienphucvx

Câu trả lời:


13

Bạn có thể làm điều đó bằng cách sử dụng, Company / Modulename / etc / adminhtml / system.xml

Trong phần -> trường nhóm

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

Trong tập tin mô hình lối vào bên trong khối,

<?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();
    }

}

Bạn có bảng hiển thị trong vùng cấu hình và sau khi lưu giá trị của nó được lưu trong core_config_databảng.


nó hoạt động tốt Nhưng khi tôi lưu như <test>nó đang hiển thị &lt;test2&gt;. Bất cứ đề nghị nào?
Bojjaiah

Xin chào, có nghi ngờ, Nếu tôi muốn thêm một nhóm khác bao gồm cùng các trường, mô hình lối vào, mô hình phụ trợ mà bạn đã thêm vào tệp system.xml của mình thì làm cách nào để thêm một nhóm khác có cùng tệp system.xml. Trong khi thêm nhóm mới, liệu nó sẽ tải mẫu đúng cách?
Jaisa

@Rakesh Jesadiya, Xin hãy xem và trả lời magento.stackexchange.com/questions/212229/ trộm
Jaisa

xin chào @rakesh Jesadiya, tôi đã thêm các trường sử dụng mã ở trên nhưng không thể lưu và có lỗi trên trường bảng điều khiển (qty) không được xác định.
faizanbeg

Làm cách nào để tạo các hàng trong bảng cấu hình quản trị viên này theo chương trình?
Ashwani Shukla

4

Tương đương với adminhtml/system_config_backend_serialized_arraytrong Magento 2 là Magento\Config\Model\Config\Backend\Serialized\ArraySerialized.
Bạn có thể lấy ví dụ User-Agent Exceptionstừ trường cấu hình và cố gắng sao chép nó.
Trường được xác định trongMagento/Backend/etc/adminhtml/system.xml


Đúng. Đó chính xác là những gì tôi đang tìm kiếm. Cảm ơn rât nhiều.
thienphucvx

hi @marius, tôi đã thêm các trường bằng mã $ this-> addColumn ('value', ['nhãn' => __ ('Giá trị')]); $ this-> addColumn ('qty', ['nhãn' => __ ('Qty')]); nhưng không thể lưu và có lỗi trên trường bảng điều khiển (qty) không được xác định Vui lòng trợ giúp
faizanbeg
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.