Magento:以编程方式创建一个部分和组(包括屏幕截图)?

EOB*_*EOB 2 magento

我没有使用system.xml以静态方式创建组和节,而是想在代码中创建节和组.请看一下截图:

组

屏幕上显示的内容是在模块system.xml中完成的,现在我想直接在代码中完成.我还找到了构建表单的地方,它在initForm()函数中的app/code/core/Mage/Adminhtml/Block/System/Config/Form.php中.在那里它读取部分和内部组.我遇到的问题是,我不知道如何从这里开始.也许有人做了类似的事情或者可以指出我正确的方向.我想其中一部分是我自己创建一个Mage_Core_Model_Config_Element?

JBr*_*ton 6

这种使用系统/配置屏幕的方式不是Magento标准.

如果您想保持标准,您有两种选择:

  1. 创建自己的配置屏幕.
  2. 在config.xml中使用groups的frontend_model属性

    <?xml version="1.0"?>
    <config>
        <sections>
            <your_section>
                <groups>
                    <your_group>
                         <frontend_model>your_module/your_block</frontend_model>
                    </your_group>
                </groups>
            </your_section>
        </sections>
    </config>
    
    Run Code Online (Sandbox Code Playgroud)

然后,您可以使用提供的块执行任何操作,根据需要动态创建任意数量的fieldset,添加自定义字段等.

此块必须扩展Mage_Adminhtml_Block_System_Config_Form_Fieldset,如果您希望字段在core_config_data中保存数据,则需要将name ='groups [your_group] [fields] [your_field] [value]'(Magento将为您处理your_section部分) ).

你的字段也必须自己读取数据,只需将它放在它们的value属性中.