Posts Tagged ‘plugin’
23
Abr

Debido a los cambios en el sistema de generación de administración en Symfony 1.2, tuve que dedicar cierto tiempo para poder lograr ver TinyMCE funcionando en mi aplicación.

Los pasos a seguir para que funcione son los siguientes.

  1. Instalar el plugin sfFormExtraPlugin (http://www.symfony-project.org/plugins/sfFormExtraPlugin), el cual añade algunas funcionalidades a los formularios, entre ellas, el poder utilizar TinyMCE.
    symfony plugin:install sfFormExtraPlugin
  2. Descargar la última version de TinyMCE desde el sitio oficial (http://tinymce.moxiecode.com/).
  3. El archivo descargado tiene varios directorios, solo nos interesa /tinymce/jscripts/tiny_mce/, la cual se debe copiar completa al directorio /web/js/ del proyecto Symfony. Quedando finalmente como /web/js/tiny_mce/
  4. Adjuntar el script en el módulo en el cual se quiere utilizar (también puede ser para una aplicación completa). En mi caso, sólo lo necesito en un módulo creado con el admin-generator. Para esto se debe abrir el archivo /apps/<NOMBRE_APP>/modules/<NOMBRE_MODULO>/config/view.yml y agregar el script en la seccion de Javascripts.
    javascripts:   [ tiny_mce/tiny_mce.js ]
  5. Activar el directorio de TinyMCE en la configuración de la aplicación agregando lo siguiente en el archivo /apps/<NOMBRE_APP>/config/settings.yml
    all:
    .settings:
    rich_text_js_dir:   js/tiny_mce
  6. TinyMCE ya está listo para ser utilizado. Ahora solo basta agregarlo a la clase del formulario en el que se necesita. Para esto hay que abrir el archivo de la clase del Form. Por ejemplo: /lib/form/<NOMBRECLASE>Form.class.php y configurarlo según el siguiente ejemplo:
    public function configure()
    {
    $this->widgetSchema['nombre_campo'] = new sfWidgetFormTextareaTinyMCE(array(
    'width' => 450,
    'height' => 350,
    'config' => 'theme_advanced_disable: "anchor,image,cleanup,help"',
    ));
    }

    Las opciones principales son theme: { basic, advanced }, height, width, config. En esta última se pueden adjuntar todas las demás opciones deseadas para el editor. Ver wiki de TinyMCE. En este ejemplo, se desactivan algunos botones, se puede dejar en blanco, o simplemente eliminar config.
  7. Finalmente, antes de probar como ha quedado. Limpiar la cache del proyecto con el comando
    symfony cc

Espero sea de utilidad.

Artículo original: Symfony Forums

Más información: Formularios Symfony 1.2 en librosweb.es

, , ,