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

时间:2012-03-30 07:19:24

标签: magento

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

groups

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

1 个答案:

答案 0 :(得分: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>
    
  3. 然后,您可以使用提供的块执行任何操作,动态创建任意数量的fieldset,添加自定义字段等。

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

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