Magento在系统配置自定义模块字段上添加事件

时间:2013-08-07 20:01:22

标签: magento module system.xml

我无处可寻找要搜索的定义。 在mymodule namespace / modulename / etc / system.xml 我有:

<faq_input translate="label">
    <label>Question Collor: </label>
    <comment>example: #000000</comment>
    <frontend_type>text</frontend_type>
    <sort_order>20</sort_order>
    <show_in_default>1</show_in_default>
    <show_in_website>1</show_in_website>
    <show_in_store>1</show_in_store>
</faq_input>

我需要添加onclick事件,例如:

<input type="text" onclik="code(myevent)" value="xxx" >

1 个答案:

答案 0 :(得分:0)

您需要使用<frontend_model>,您可以在核心中找到一些示例(例如app/code/core/Mage/Catalog/etc/system.xml)。

前端模型必须是继承自Mage_Adminhtml_Block_System_Config_Form_Field的块,它具有_getElementHtml()方法,您可以在呈现它之前将自己的代码应用于表单元素。例如:

protected function _getElementHtml(Varien_Data_Form_Element_Abstract $element)
{
    $element->setOnclick('launchExample();');
    $html = $element->getElementHtml();
    $html .= '<script type="text/javascript">function launchExample(){ alert("This is an example"); }</script>';
    return $html;
}