Прежде всего, добавьте это в любой файл макета, чтобы загрузить редактор в разделе конфигурации:
<adminhtml_system_config_edit>
<update handle="editor"/>
<reference name="head">
<action method="setCanLoadTinyMce"><load>1</load></action>
</reference>
</adminhtml_system_config_edit>
Теперь создайте свой собственный рендерер поля. Это должен быть блок внутри вашего модуля:
<?php
class Namespace_Module_Block_Adminhtml_System_Config_Editor
extends Mage_Adminhtml_Block_System_Config_Form_Field
implements Varien_Data_Form_Element_Renderer_Interface {
protected function _getElementHtml(Varien_Data_Form_Element_Abstract $element) {
$element->setWysiwyg(true);
$element->setConfig(Mage::getSingleton('cms/wysiwyg_config')->getConfig());
return parent::_getElementHtml($element);
}
}
Теперь для элемента внутри system.xml установите frontend_type 'editor' и frontend_model ваш новый блок
<fieldname translate="label">
<label>Field label </label>
<frontend_type>editor</frontend_type>
<frontend_model>module/adminhtml_system_config_editor</frontend_model>
<sort_order>150</sort_order>
<show_in_default>1</show_in_default>
<show_in_website>1</show_in_website>
<show_in_store>1</show_in_store>
</fieldname>
Существуют некоторые проблемы при изменении области конфигурации на веб-сайт или представление магазина. Текстовая область не становится «отключенной». Но если вы можете игнорировать это, вы можете использовать его без каких-либо проблем.
Я хотел добавить это как комментарий, но мне не хватает репутации. Увы, эта информация, несомненно, кому-то полезна.
Когда я реализовал решение Marius, я увидел кнопку «Показать / скрыть редактор», но когда я щелкнул по ней, я получил ошибку javascript:
Uncaught ReferenceError: tinyMceWysiwygSetup is not defined
Быстрый поиск в Google привел меня к этому другому magento stackexchange-вопросу, который предложил, чтобы вам понадобились дополнительные строки в вашем макете, чтобы загрузить весь необходимый javascript в разделе конфигурации. Объединение этого с решением Marius дало мне обновление макета, которое выглядит так:
Вот ссылка на этот другой вопрос: Uncaught ReferenceError: tinyMceWysiwygSetup не определен
источник
Ваши дополнительные дополнения здесь не нужны. Действительно, большинство ваших звонков уже находятся в дескрипторе «редактор». Вот почему мы делаем здесь
<update handle="editor"/>
Просто убедитесь, что вы добавляете в дизайн> adminhtml, а не в дизайн> интерфейс
источник