Agregar soporte para plantillas en tinyMCE dentro de Joomla 1.5.12
07/12/2009 at 11:32 pm | In Informatica, php | Leave a CommentTags: 1.5.12, howto, joomla, plugin, templates, tinymce
Escribiré este post para no volver a olvidar como realizar ésto, pues ya es la segunda vez que me pregunto como agregar soporte para plantillas de tinyMCE en el editor de joomla y después de activar la funcionalidad extendida de este plugin en
Extensiones > Gestor de plugins > Editor – TinyMCE
Pues me dirijo a crear un artículo y no puedo ver ningún indicio de los templates que puede soportar TinyMCE, y como un completo desentendido intento recordar que hice para hacer funcionar esta característica en otra instalación de joomla (Claro que aún no podrán ver los templates funcionando porque, y aquí viene lo peor, por defecto la instalación de joomla/tinyMCE viene con el botón para insertar templates en el editor de artículos, pero no tiene código de soporte para especificar la ubicación de estos templates).
Entonces, despues de revisar el código de mi instalación pasada pues pensé que lo tenía todo, hay que modificar:
\joomla\plugins\editors\tinymce.php
\joomla\plugins\editors\tinymce.xml
Y después ya podemos especificar la ruta de los templates en la configuración del plugin, pero no es tan simple con la nueva versión de joomla con la que estoy trabajando:
Joomla! 1.5.12 Stable [ Wojmamni Ama Woi ] (Por cierto, alguien sabía que wojmammi ama… es el número de la versión en idioma yaqui?)
En fin, creo que ya es hora de que veamos el código que debemos modificar para esta nueva versión:
\joomla\plugins\editors\tinymce.php (alrededor de la linea 318)
// template
$template = $this->params->def( 'template', 1 );
if ( $template ) {
$plugins[] = 'template';
$buttons4[] = 'template';
}
//---- new custom code start ----
$templates = $this->params->get('templates');
if(!empty($templates)) {
$templates = explode("\n", $templates);
$templatesJS = ',
template_templates : [ ';
foreach($templates as $template) {
$template = explode(";", $template);
// new change here
$templatesJS .= '
{
title: \'' . pathinfo($template[0], PATHINFO_FILENAME) . '\',
src: \'' . $template[0] . '\',
description: \'' . (isset($template[1]) ? $template[1] : '') . '\'
},';
}
$templatesJS = substr($templatesJS, 0, -1) . "\n ]";
}
//---- new custom code end ----
// tinybrowser
$tinybrowser = $this->params->def( 'tinybrowser', 1 );
\joomla\plugins\editors\tinymce.php (ahora alrededor de la linea 560)
theme_advanced_buttons4 : \"$buttons4\",
plugin_insertdate_dateFormat : \"$format_date\",
plugin_insertdate_timeFormat : \"$format_time\",
fullscreen_settings : {
theme_advanced_path_location : \"top\"
}
// ---- new custom code start ----
$templatesJS
// ---- new custom code end ----
});
</script>";
if ( $tinybrowser ) {
$return .="\t<script type=\"text/javascript\" src=\"".JURI::root()."plugins/editors/tinymce/jscripts/tiny_mce/plugins/tinybrowser/tb_tinymce.js.php\"></script>\n";
setcookie('tinybrowser_lang', $langPrefix, 0, "/");
}
break;
}
<pre>
Y ahora:
\joomla\plugins\editors\tinymce.xml (alrededor de la linea 165)
</pre> <param name="template" type="radio" default="1" label="Template" description="PARAMTEMPLATE"> <option value="0">Hide</option> <option value="1">Show</option> </param> <!-- new custom code start --> <param name="templates" type="textarea" cols="60" rows="6" label="Templates paths" description="Paths to templates. One template per line, use absolute paths." /> <!-- new custom code end --> <param name="@spacer" type="spacer" default="" label="" description="" /> <pre> <pre>
Después de esto ya deberíamos ser capaces de crear nuestros propios templates y especificar la ruta donde encontrarlos desde:
Extensiones > Gestor de plugins > Editor – TinyMCE (Bajo la pestaña: Paramétros avanzados)
Para los que no lo notaron, añadimos este campo de texto al editar tinymce.xml, usando el elemento xml ‘param’, ahora solo queda añadir la ruta y descripción (separadas por un punto y coma) hacia nuestros propios templates que no son más que un esqueleto en html como el siguiente que yo uso para crear un artículo de portada. (aunque es completamente aceptable que alguno de ustedes le vaya a dar un mejor uso )
</pre> <div> <h1>TITULO</h1> <div> IMAGEN1 IMAGEN2 </div> <p> PARRAFO1 </p> <p> PARRAFO2 </p> <div> IMAGEN3 IMAGEN4 </div> <div> <span>Oficina de </span><br> <i>Fecha de Actualizacion: </i> </div> </div>
Integrando Twitter con Joomla
25/10/2009 at 7:45 pm | In Informatica, php | 1 CommentTags: joomla, simpletwitter, twitter
Cuándo escuché por primera vez de twitter pensé que se trataba de otra red social más como hi5.com o facebook.com, ahora después de conocerlo más puedo afirmar que se trata de un concepto de comunicación realmente distinto, microblogging: .
http://es.wikipedia.org/wiki/Microblogging
Bueno, pero estamos aquí para aprender a instalar un módulo para mostrar nuestros últimos tweets en una página basada en Joomla.
El método rápido, te bajas el módulo de aquí:
http://joomlacode.org/gf/project/simpletwitter
y lo instalas desde el panel de administración de Joomla.
Si no tienes mucha experiencia con Joomla derepente te sirva el método más largo, bueno, de todas formas necesitas descargar el módulo desde el vínculo de arriba, después te dirijes al panel de administración en la pestaña “Extensiones” eliges la opción “Instalar/desinstalar”, subes el módulo y listo, la primera parte ha sido completada.
Ahora procedemos a activar el módulo, nuevamente pestaña “Extensiones”, luego la opción “Gestor de módulos” y después ubicas el módulo “Simple Twitter”. Dentro de éste podrás ver las opciones de configuración.

La activación de la caché puede ser útil para que tu servidor no le haga una petición al servidor de twitter cada vez que tengas un visitante en tu página (ésto mejorará el desempeño y la velocidad a la que cargue tu página).
El campo de “Sufijo de la clase” puede servir para hacer personalizaciones en la manera en la apariencia del módulo, si sabes algo de CSS entenderás a que me refiero. No olvides activar el módulo en el menú de la izquierda, además de asignarle una posición en la pantalla (left, right, etc).
Para tener correctamente traducidos los parámetros de configuración del módulo puedes descargar mis propias traducciones para éste módulo:
http://www.2shared.com/file/8521671/b67d0e15/simpletwitter_translations.html
Y copiar el archivo: es-ES.mod_simpletwitter.ini en la carpeta (joomla_folder)/language/es-ES y el archivo en-GB.mod_simpletwitter.ini en la carpeta (joomla_folder)/language/en-GB. Por cierto la modificación de los archivos de traducción también se puede realizar desde el panel de control.

Componentes > Administrar traducciones
Después de instalar el módulo y de asignarle una posición en nuestra página, este quedará con una apariencia parecida a la siguiente:
Está claro que debemos modificarlo, porque por defecto este módulo viene con un mensaje que nos insta a hacerlo:
Edit how this looks in the mod_simpletwitter.php file
Bueno, entonces vamos al directorio de instalación de joomla, y sin miedo de romper algo nos dirigimos a la carpeta modules, donde podremos ver cada módulo tiene asignada una carpeta con el nombre en este formato mod_(nombre del modulo), así es como joomla administra los módulos instalados. Ahora nos dirigimos a modules/mod_simpletwitter y en ésta carpeta veremos los siguientes archivos:

Al cargar el módulo joomla buscara un archivo con éste formato: mod_(nombre módulo).php y así nuestro módulo cargara a partir de ese punto.
Si revisamos ese archivo, en la primera línea veremos
<?php defined( ‘_JEXEC’ ) or die( ‘Restricted access’ );
Ésta línea previene que nadie pueda acceder a ejecutar este archivo php directamente indicando su url, así:
http://localhost/joomla/modules/mod_simpletwitter/mod_simpletwitter.php
porque la variable _JEXEC se define al comienzo de la aplicacion en el archivo http://localhost/joomla/index.php y por lo tanto, si alguien accede a la url de manera directa esta variable (o constante) aún no estará definida y solo recibirá el mensaje:
Restricted access.
Bueno, regresando a nuestro módulo, en el hay varias cosas que podemos hacer, la primera que yo sugeriría es crear un archivo index.html en la carpeta modules/mod_simpletwitter para evitar que cualquiera liste el contenido de esa carpeta, ésta es una medida de seguridad.
A ver, ahora veremos como eliminar el mensaje:
Edit how this looks in the mod_simpletwitter.php file
Para ésto iremos a a la línea 23 del archivo mod_simpletwitter.php y simplemente la eliminaremos.

Nuevamente si conocen algo de html y css modificar la apariencia del módulo será bastante sencillo.
Blog de WordPress.com. | Theme: Pool by Borja Fernandez.
Entries and comments feeds.

