如何在magento中显示自定义类别属性中的编辑器?

时间:2014-07-28 07:59:12

标签: magento magento-1.8

我借助此链接添加了一个自定义类别属性

http://www.atwix.com/magento/add-category-attribute/

但它只显示textarea而不是编辑。任何人都告诉我我在哪里做错了或我离开了什么。

在 应用程序的/ etc /模块/ Atwix_CustomCategoryAttribute.xml

<?xml version="1.0"?>
<config>
    <modules>
        <Atwix_CustomCategoryAttribute>
            <active>true</active>
            <codePool>community</codePool>
        </Atwix_CustomCategoryAttribute>
    </modules>
</config>

应用程序/代码/小区/ Atwix / CustomCategoryAttribute的/ etc / config.xml中

<?xml version="1.0"?>
<config>
    <modules>
        <Atwix_CustomCategoryAttribute>
            <version>0.0.1</version>
        </Atwix_CustomCategoryAttribute>
    </modules>

    <global>
        <resources>
            <add_category_attribute>
                <setup>
                    <module>Atwix_CustomCategoryAttribute</module>
                    <class>Mage_Catalog_Model_Resource_Setup</class>
                </setup>
                <connection>
                    <use>core_setup</use>
                </connection>
            </add_category_attribute>
            <add_category_attribute_write>
                <connection>
                    <use>core_write</use>
                </connection>
            </add_category_attribute_write>
            <add_category_attribute_read>
                <connection>
                    <use>core_read</use>
                </connection>
            </add_category_attribute_read>
        </resources>
    </global>
</config>

应用程序/代码/小区/ Atwix / CustomCategoryAttribute / SQL / add_category_attribute / mysql4升级-0.0.1-0.0.2.php

<?php
$this->startSetup();
$this->addAttribute(Mage_Catalog_Model_Category::ENTITY, 'custom_attribute', array(
    'group'         => 'General',
    'input'         => 'textarea',
    'type'          => 'text',
    'label'         => 'Custom attribute',
    'backend'       => '',
    'visible'       => true,
    'required'      => false,
    'visible_on_front' => true,
    'global'        => Mage_Catalog_Model_Resource_Eav_Attribute::SCOPE_GLOBAL,
));

$this->endSetup();

显示

应用程序/设计/前端/主题/模板/目录/类别/ view.phtml

<?php if($_customAttribute = $this->getCurrentCategory()->getCustomAttribute()): ?>
    <?php echo $_helper->categoryAttribute($_category, $_customAttribute, 'custom_attribute') ?>
<?php endif; ?>

如果有人知道,请帮助我。

谢谢!

2 个答案:

答案 0 :(得分:2)

您的升级脚本mysql4-upgrade-0.0.1-0.0.2.php将包含以下代码

<?php
$this->startSetup();
$this->addAttribute(Mage_Catalog_Model_Category::ENTITY, 'custom_attribute', array(
    'group'         => 'General',
    'input'         => 'textarea',
    'type'          => 'text',
    'label'         => 'Custom attribute',
    'backend'       => '',
    'visible'       => true,
    'required'      => false,
    'wysiwyg_enabled' => true,
    'visible_on_front' => true,
    'is_html_allowed_on_front' => true,
    'global'        => Mage_Catalog_Model_Resource_Eav_Attribute::SCOPE_GLOBAL,
));

$this->endSetup();

config.xml中将版本更改为

<modules> <Atwix_CustomCategoryAttribute> <version>0.0.2</version> </Atwix_CustomCategoryAttribute> </modules>

您可以看到属性'wysiwyg_enabled' => true,

有必要使用编辑器更改此属性中的内容,插入一些图像,格式化文本,最后 - 保存更改

答案 1 :(得分:0)

创建自己的mysql升级脚本.... mysql4-upgrade-0.0.1-0.0.2.php 这里,该文件的代码是

$installer =new Mage_Catalog_Model_Resource_Eav_Mysql4_Setup;
$categoryEntityTypeId = $installer->getEntityTypeId('catalog_category');

$installer->updateAttribute($categoryEntityTypeId, 'custom_attribute', 'is_wysiwyg_enabled', 1);

$installer->endSetup();

这将更新您的类别属性。