rra*_*iii 5 php widget magento
如果我们在文件system.xml中添加后端配置,我们可以使用validate标记为每个字段添加验证,如下所示:
<duration>
<label> ...</label>
<frontend_type >text</frontend_type>
<validate>required-entry validate-number</validate>
<source_model>adminhtml/system_config_source_yesno</source_model>
<sort_order>70</sort_order>
<show_in_default>1</show_in_default>
<show_in_website>1</show_in_website>
<show_in_store>1</show_in_store>
</duration>
Run Code Online (Sandbox Code Playgroud)
我的问题是,有相似的方法使magento中的小部件选项相同吗?例如,在widget.xml文件中这样:
<widget type="common/widget">
<name>new widget</name>
<description>new widget</description>
<parameters>
<template>
<visible>0</visible>
<value>template.phtml</value>
</template>
<after translate="label">
<visible>1</visible>
<label>...</label>
<type>text</type>
<validate>required-entry validate-number</validate>
</after>
</parameters>
</widget>
Run Code Online (Sandbox Code Playgroud)
您不能直接通过 XML 执行此操作。但是,您可以创建一个自定义块,在其中设置验证 css 类,并将其用作 widget.xml 中的类型。
应用程序/代码/本地/Mynamespace/Mymodule/etc/widget.xml:
<somefield>
<required>1</required>
<visible>1</visible>
<label>Some number</label>
<type>mynamespace_mymodule/element_numeric</type>
</somefield>
Run Code Online (Sandbox Code Playgroud)
应用程序/代码/本地/Mynamespace/Mymodule/Block/Element/Numeric.php:
class Mynamespace_Mymodule_Block_Element_Numeric extends Mage_Adminhtml_Block_Widget_Form_Renderer_Fieldset_Element
{
public function render(Varien_Data_Form_Element_Abstract $element)
{
$element->setType('text');
$element->addClass('validate-digits');
parent::render($element);
}
}
Run Code Online (Sandbox Code Playgroud)
重要的是,自定义元素块扩展Mage_Adminhtml_Block_Widget_Form_Renderer_Fieldset_Element类,以便它能够在字段集中正确显示。
| 归档时间: |
|
| 查看次数: |
910 次 |
| 最近记录: |