3

我想允许在产品的描述字段中添加目录产品链接小部件(这样我就可以轻松地链接到描述中的其他产品)。我已经通过创建如下文件扩展了 Mage_Catalog_Model_Product:

class mymodule_Catalog_Model_Product extends Mage_Catalog_Model_Product
{

    /**
      * Add getDescription function that interprets widget or static blocks
      * within product descriptions
      */
    public function getDescription() {
        $processor = Mage::getModel('widget/template_filter');
        $html = $processor->filter($this->getData('description'));
        return $html;
    }

}

现在,如果我输入类似的内容,它可以正常工作

{{widget type="catalog/product_widget_link" anchor_text="my text" template="catalog/product/widget/link/link_inline.phtml" id_path="product/1234"}}

进入描述字段——它创建一个指向产品 ID 1234 的链接。

但我想在所见即所得编辑器中添加实际的目录产品链接小部件按钮以编辑产品。该按钮已在 CMS 编辑器中,但我缺少需要修改的内容,以便将此小部件添加到管理界面以编辑产品。有人可以帮我吗?

4

2 回答 2

10

对于以后像我这样偶然发现此问题的任何人,您可以使用 cms_wysiwyg_config_prepare 事件将其设置为 true。

例如:在 config.xml

<events>
            <cms_wysiwyg_config_prepare>
                <observers>
                    <webtise_widgets>
                        <class>webtise_widgets/observer</class>
                        <method>cmsWysiwygConfigPrepare</method>
                    </webtise_widgets>
                </observers>
            </cms_wysiwyg_config_prepare>
        </events>

在你的观察者中

<?php class Webtise_Widgets_Model_Observer{

    public function cmsWysiwygConfigPrepare(Varien_Event_Observer $observer){
        $observer->getEvent()->getConfig()->setAddWidgets(true);
    }
}
于 2014-08-26T15:06:32.047 回答
2

我可以通过覆盖核心文件来做到这一点

app/code/local/Mage/Adminhtml/Block/Catalog/Helper/Form/Wysiwyg/Content.php

和设置

$config['add_widgets']           = true;

现在小部件按钮显示在管理界面的所有 WYSIWIG 编辑器中。

于 2013-01-18T22:51:51.303 回答