Magento 2 व्यवस्थापक सिस्टम कॉन्फ़िगरेशन में तालिका सेटिंग कैसे बनाएं?


9

Magento 1 के अनुसार, हम इस तरह की तालिका बनाने के लिए "adminhtml / system_config_backend_serialized_array" से आगे बढ़ते हैं: यहां छवि विवरण दर्ज करें

मेरा सवाल है: हम इसे 2 Magento में कैसे बनाते हैं?

संपादित करें: अंत में, @ मार्सर की मदद से: यह सिस्टम => कॉन्फ़िगरेशन => सामान्य => डिज़ाइन => डिज़ाइन थीम में उपयोगकर्ता-एजेंट अपवाद फ़ील्ड है।

यहां छवि विवरण दर्ज करें

हम इस कोड के आधार पर "Magento \ config \ Block \ System \ config \ Form \ Field \ Regexception" को देखकर इस क्षेत्र के आधार पर एक नया टेबल कॉन्फ़िगरेशन बना सकते हैं


इस magento.stackexchange.com/questions/86147/… पर गौर करें
इससे

धन्यवाद। लेकिन मुझे लगता है कि @ मायर का जवाब मुझे चाहिए।
thienphucvx

जवाबों:


15

आप इसे कंपनी / मोडुलनेम / etc / adminhtml / system.xml का उपयोग करके कर सकते हैं

अनुभाग के तहत -> समूह फ़ील्ड

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

ब्लॉक के अंदर दृश्यपटल मॉडल फ़ाइल में,

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

}

आपके पास कॉन्फ़िगरेशन क्षेत्र में प्रदर्शन तालिका है और इसके मूल्य को सहेजने के बाद core_config_dataतालिका के अंदर सहेजे जाते हैं।


यह ठीक काम कर रहा है। लेकिन जब मैं सहेजता हूं <test>तो यह प्रदर्शित हो रहा है &lt;test2&gt;। कोई उपाय?
Bojjaiah

नमस्ते, संदेह होने पर, यदि मैं एक और समूह जोड़ना चाहता हूं जिसमें समान फ़ील्ड, फ्रंटेंड मॉडल, बैकेंड मॉडल शामिल है जिसे आपने अपने system.xml में जोड़ा है तो मैं उसी प्रणाली के साथ एक और समूह कैसे जोड़ सकता हूं। xml फ़ाइल। नए समूह को जोड़ते समय, क्या यह टेम्पलेट को ठीक से लोड करेगा?
Jaisa

@ राकेश जेसादिया, कृपया एक नज़र डालें और जवाब दें magento.stackexchange.com/questions/212229/…
Jaisa

hi @rakesh Jesadiya, मैंने उपरोक्त कोड का उपयोग करके फ़ील्ड जोड़े हैं, लेकिन सहेजने में असमर्थ है और कंसोल फ़ील्ड पर कोई त्रुटि नहीं है (qty) परिभाषित नहीं है।
faizanbeg

इस व्यवस्थापक तालिका में पंक्तियों को प्रोग्रामेटिक रूप से कैसे बनाएँ?
अश्वनी शुक्ल

4

adminhtml/system_config_backend_serialized_arrayMagento 2 के लिए बराबर है Magento\Config\Model\Config\Backend\Serialized\ArraySerialized
आप User-Agent Exceptionsकॉन्फ़िगरेशन से उदाहरण के रूप में फ़ील्ड ले सकते हैं और इसे दोहराने का प्रयास कर सकते हैं।
में फ़ील्ड परिभाषित किया गया हैMagento/Backend/etc/adminhtml/system.xml


हाँ। यह वास्तव में मैं क्या देख रहा हूँ। आपका बहुत बहुत धन्यवाद।
thienphucvx

hi @ मायरियस, मैंने $ $ का उपयोग करके फ़ील्ड्स जोड़ दिए हैं-> addColumn ('value', ['label' => __ ('value')]); $ यह-> addColumn ('मात्रा', ['लेबल' => __ ('Qty')]); लेकिन बचाने में असमर्थ हैं और कंसोल फ़ील्ड पर त्रुटि है (मात्रा) परिभाषित नहीं है कृपया मदद करें
faizanbeg
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.