我想允许在产品的说明字段中添加Catalog Product Link小部件(因此我可以轻松链接到说明中的其他产品)。我已经通过创建如下文件来扩展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的链接。
但我想在WYSIWYG编辑器中添加实际的Catalog Product Link小部件按钮来编辑产品。该按钮已经在CMS编辑器中,但我遗漏了我需要修改的内容,以便将此小部件添加到Admin界面以编辑产品。有人可以帮助我吗?
答案 0 :(得分:8)
对于像我这样后来遇到这种情况的人,您可以使用cms_wysiwyg_config_prepare事件将其设置为true。
E.G: 在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);
}
}
答案 1 :(得分:2)
我能够通过覆盖核心文件
来做到这一点app/code/local/Mage/Adminhtml/Block/Catalog/Helper/Form/Wysiwyg/Content.php
并设置
$config['add_widgets'] = true;
现在,小部件按钮显示在管理界面中的所有WYSIWIG编辑器中。