如何将WYSIWYG编辑器添加到Magento自定义选项

时间:2015-10-15 10:37:02

标签: php magento editor wysiwyg

我试图在Magentos自定义选项中的text-option下实现一个所见即所得的编辑器,但是我失败了。我已经搜索了几个组件,但是无法将它们组合在一起。

我希望该编辑器出现在WYSIWYG Value-textarea现在所在的字段中。 screenshot of: WYSIWYG shall appear in textarea

其他来源要么没有详细说明,要么不适用于1.9.1。

到目前为止我所拥有的:[WR是公司名称,EPO是我的模块]

我找到了这个片段,用于在_prepareForm函数中的cms页面上放置一个所见即所得的编辑器:

<?php
    if (Mage::getSingleton('cms/wysiwyg_config')->isEnabled() && ($block = $this->getLayout()->getBlock('head'))) {
        $block->setCanLoadTinyMce(true);
    }

    $form = new Varien_Data_Form(array(
        'id' => 'edit_form',
        'action' => $this->getUrl('*/*/save'),
        'method' => 'post'
    ));
    $fieldset = $form->addFieldset('base_fieldset', array(
        'legend' => Mage::helper('wr_epo')->__("Some Information"),
        'class' => 'fieldset-wide',
    ));
    $wysiwygConfig = Mage::getSingleton('cms/wysiwyg_config');
    $fieldset->addField('description', 'editor', array(
        'name' => 'description',
        'label' => Mage::helper('wr_epo')->__('Description'),
        'title' => Mage::helper('wr_epo')->__('Description'),
        'style' => 'height: 600px;',
        'wysiwyg' => true,
        'required' => false,
        'config' => $wysiwygConfig
    ));?>

1 个答案:

答案 0 :(得分:1)

我很久以前就遇到过这样的问题(客户希望在选项中添加自定义内容)。 我不知道这是否正是您想要的。但是,这就是我所做的:

我在magento的根目录中制作了一个php文件。

然后我添加了这段代码。我在stackoverflow上找到了它。如果有人知道它来自哪里,那就更好了。

ini_set('display_errors',0);
require_once 'app/Mage.php';
Mage::app();

$setup = new Mage_Eav_Model_Entity_Setup('core_setup');


function createNewAttributeSet($name) {
    Mage::app('default');
    $modelSet = Mage::getModel('eav/entity_attribute_set')
    ->setEntityTypeId(4) // 4 == "catalog/product"
    ->setAttributeSetName($name);
    $modelSet->save();
    $modelSet->initFromSkeleton(4)->save(); // same thing
}

// Replace your attribute name with "extra_info"

$setup->addAttribute('catalog_category', 'extra_info', array(
        'group'             => 'General Information',
        'type'              => 'text',
        'backend'           => '',
        'frontend'          => '',
        'label'             => 'Extra Information',
        'wysiwyg_enabled' => true,
        'visible_on_front' => true,
        'is_html_allowed_on_front' => true,
        'input'             => 'textarea',
        'class'             => '',
        'source'            => 'eav/entity_attribute_source_boolean',
        'global'     => Mage_Catalog_Model_Resource_Eav_Attribute::SCOPE_STORE,
        'visible'           => 1,
        'required'          => 0,
        'user_defined'      => 0,
        'default'           => '',
        'searchable'        => 0,
        'filterable'        => 0,
        'comparable'        => 0,
        'visible_on_front'  => 0,
        'unique'            => 0,
        'position'          => 1,
));
$setup->updateAttribute('catalog_category', 'extra_info', 'is_wysiwyg_enabled', 1);
$setup->updateAttribute('catalog_category', 'extra_info', 'is_html_allowed_on_front', 1);

但是我认为您想加入

'wysiwyg_enabled' => true,

而不是

 'wysiwyg' => true,

(这是指您先前粘贴的代码)

其他阅读:

我发现对我的问题有所帮助的事情: https://www.atwix.com/magento/add-category-attribute/ https://docs.magento.com/m1/ce/user_guide/catalog/product-options-custom.html