En primer lugar, agregue esto en cualquier archivo de diseño, para cargar el editor en la sección de configuración:
<adminhtml_system_config_edit>
<update handle="editor"/>
<reference name="head">
<action method="setCanLoadTinyMce"><load>1</load></action>
</reference>
</adminhtml_system_config_edit>
Ahora crea tu propio renderizador de campo. Tiene que ser un bloque dentro de su módulo:
<?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);
}
}
Ahora para el elemento dentro de system.xml, configure el frontend_type 'editor' y el frontend_model su nuevo bloque
<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>
Hay algunos problemas al cambiar el ámbito de configuración a un sitio web o una vista de tienda. El área de texto no se 'deshabilita'. Pero si puede ignorar esto, puede usarlo sin ningún problema.
Quería agregar esto como un comentario, pero no tengo suficiente reputación. Por desgracia, esta información es, sin duda, útil para alguien.
Cuando implementé la solución de Marius, vi el botón Mostrar / Ocultar editor, pero cuando hice clic, recibí un error de JavaScript:
Uncaught ReferenceError: tinyMceWysiwygSetup is not defined
Una búsqueda rápida en Google me llevó a esta otra pregunta de magento stackexchange que sugería que necesita líneas adicionales en su diseño para cargar todo el javascript necesario en la sección de configuración. La incorporación de esto con la solución de Marius me dio una actualización de diseño que se ve así:
Aquí está el enlace a esa otra pregunta: Error de referencia no capturado: tinyMceWysiwygSetup no está definido
fuente
Sus addJs adicionales no son necesarios aquí. De hecho, la mayoría de sus llamadas ya están en el controlador "editor". Por eso hacemos aquí
<update handle="editor"/>
Solo asegúrese de que su adición esté en diseño> adminhtml y no en diseño> frontend
fuente