用自定义输入渲染器添加Magento属性
这个例子将给你解释如何用自定义输入渲染添加新属性。你将修改已有的功能,添加JavaScript,一些其它的选项或者改变默认的输入渲染。
你可能会问什么是Magento输入渲染器。这是一个负责呈现HTML表单元素的Magento php类。在Magento里有不同的渲染类,你可以在/lib/Varien/Data/Form/Element的文件夹里找到它们。
让我们开始我们的示例吧。
首先创建Magento安装文件,下面是示例:
<?php
$installer = $this;
$installer->startSetup();
$installer->addAttribute(Mage_Catalog_Model_Product::ENTITY, 'example_field', array(
'group' => 'General',
'type' => 'text',
'backend' => '',
'input_renderer' => 'test/catalog_product_helper_form_example',//definition of renderer
'label' => 'Example field',
'class' => '',
'global' => Mage_Catalog_Model_Resource_Eav_Attribute::SCOPE_WEBSITE,
'visible' => true,
'required' => false,
'user_defined' => true,
'searchable' => false,
'filterable' => false,
'comparable' => false,
'visible_on_front' => false,
'unique' => false,
'apply_to' => 'simple,configurable,bundle,grouped',
'is_configurable' => false,
));
$installer->endSetup();
你可以看到,我们用“addAttribute”方法来添加属性,变量“$installer”是“Mage_Catalog_Model_Resource_Setup”的实例,前端输入渲染定义在数组 ‘input_renderer’ => ‘test/catalog_product_helper_form_example’
下一步,你需要创建自己的输入渲染器。下面是我的例子(Alwayly_Test_Block_Catalog_Product_Helper_Form_Price),一个简单的类,为了用来演示。
<?php
class Alwayly_Test_Block_Catalog_Product_Helper_Form_Example extends Varien_Data_Form_Element_Text
{
public function getAfterElementHtml()
{
$html = parent::getAfterElementHtml();
return $html."
"; }
}
在我的例子里,我添加java代码来禁用输入元素,管理员用户无法编辑此字段。
电商网站开发服务。
版权声明:本站内容源自互联网,如有内容侵犯了你的权益,请联系删除相关内容。
上一篇:注入变量到Magento CMS静态块 下一篇:删除Magento中的测试订单