西部数码主机 | 阿里云主机| 虚拟主机 | 服务器 | 返回乐道官网
当前位置: 主页 > php教程 > magento教程 >

用自定义输入渲染器添加Magento属性

时间:2017-01-07 11:00来源:未知 作者:好模板 点击:
这个Magento例子将给你解释如何用自定义输入渲染添加新属性。你将修改已有的功能,添加JavaScript,一些其它的选项或者改变默认的输入渲染。 你可能会问什么是Magento输入渲染器。这是

这个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&rdquo;的实例,前端输入渲染定义在数组 ‘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代码来禁用输入元素,管理员用户无法编辑此字段。

(责任编辑:好模板)
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------