将自定义属性添加到magento属性并将其显示在前端

vor*_*laz 2 magento

我已经开始使用magento作为我的电子商务cms,我知道这是一个非常强大的平台.最近我遇到了它的功能,可以帮助开发人员扩展核心,并设法添加自定义类别选项.有没有机会在属性上获得相同的结果?我想在属性选项卡上添加文本描述并在前端显示它?

Gie*_*ers 10

编写自己的自定义模块可以实现这一点.我这样做是为了向属性添加工具提示选项.

您可以使用adminhtml_catalog_product_attribute_edit_prepare_form-event为您的观察者添加一个字段:

$fieldset = $observer->getForm()->getElement('base_fieldset');
$fieldset->addField('tooltip', 'text', array(
    'name' => 'tooltip',
    'label' => Mage::helper('catalog')->__('Tooltip'),
    'title' => Mage::helper('catalog')->__('Tooltip')
));
Run Code Online (Sandbox Code Playgroud)

这会将额外字段添加到属性编辑屏幕.接下来是确保在编辑属性时保存属性.这可以在安装程序脚本中完成,例如:

$installer->getConnection()->addColumn(
    $installer->getTable('catalog/eav_attribute'),
    'tooltip',
    array(
        'type'      => Varien_Db_Ddl_Table::TYPE_TEXT,
        'nullable'  => true,
        'comment'   => 'Tooltip'
    )
);
Run Code Online (Sandbox Code Playgroud)

您还必须确保Model/Resource/Setup扩展--class Mage_Eav_Model_Entity_Setup而不是Mage_Core_Model_Resource_Setup.

现在,此时,您可以保存自定义属性属性.下一步是在前端显示它.只需简单的Magento模板101即可轻松完成:

例如,catalog/product/view/type/options/configurable.phtmlforeach()-loop,把这样的事情,以显示工具提示:

echo $_attribute->getProductAttribute()->getTooltip();
Run Code Online (Sandbox Code Playgroud)

真好...

更新:由于我通过电子邮件得到了关于这个主题的一些问题,我决定写一篇关于它的更详细的博客文章.你可以在这里阅读:http://gielberkers.com/add-custom-properties-magento-attributes/