MODIFICAR LA SECCIÓN DEL HEAD DESDE EL CÓDIGO DE UN COMPONENTE. JOOMLA.

Modificar la sección del head desde el código en Joomla

Modificar la sección del head desde el código de un componente

La sección head de toda página web es de suma importancia. En ella solemos insertar o enlazar el código CSS y de scripts típicos (como JavaScript). Además los datos que contenga pueden tener bastante relevancia en lo que a SEO se refiere. Modificar la sección del head desde el código de un componente no es tan fácil como puede parecer. Vamos a ver como hacerlo.
Normalmente insertamos la cabecera utilizando el siguiente código:

La anterior línea carga el fichero libraries/joomla/document/html/renderer/head.php que contiene los métodos que procesan la sección head y devuelven el código HTML generado.
Ese mismo código HTML lo podemos obtener con:

Pero si lo que queremos es modificar esa sección desde un componente, la cosa se complica un poco si no conocemos lo que Joomla pone a nuestra disposición para realizar esta tarea. Para toda modificación, el método de la clase estática JFactory::getDocument(), nos proveerá de todo lo necesario. Para los siguientes ejemplos, seguiremos usando el ejemplo del código anterior.

Cambiar el título de la página dependiendo de la lógica del componente

El método setTitle(“”) nos permitirá modificar el título:

Añadir estilos CSS dependiendo de la lógica del componente

El enlace a un fichero de reglas de estilos CSS lo hacemos con:

Si solamente queremos añadir unas reglas pero no un fichero completo:

Añadir código JavaScript dependiendo de la lógica del componente

Podemos enlazar un fichero:

O bien simplemente añadir un poco de JavaScript:

La insercción de ficheros CSS y de script, las podemos hacer también, usando el objeto JHTML:

Modificando los metatags dependiendo de la lógica del componente

Desde que los metatags o etiquetas no son tan relevantes en el posicionamiento SEO, su uso se ha quedado un tanto olvidado. Si miramos el código fuente de una web, es probable que nos encontremos con una etiqueta meta del tipo:
… donde se está indicando el software que ha generado el código de la página. Sin embargo sus usos pueden ser muchos y variados, desde redirecciones automáticas de la página, hasta usar las etiquetas meta sugeridas por Facebook que nos permiten compartir nuestros contenidos en su red social.
Joomla pone a nuestra disposición una funcionalidad mediante la cual podemos insertar etiquetas meta. Para ello nos vamos al área de administración y una vez dentro, vamos a:
[En Joomla 3.x] -> [Sitio -> Configuración global]
[En Joomla 2.5] -> [Sistema -> Configuración global]
Nos vamos al apartado donde dice [Configuración de los metadatos] y una vez allí, insertamos las metatags que estimemos oportuno.
En la práctica, lo cierto es que frecuentemente necesitamos una manera dinámica de establecer estos metatags.

Código para modificar los metadatos

Quitar el metatag “generator” puesto por defecto por Joomla:

Otros metatags también tienen su propio método para cambiarlos o establecerlos:

Pero si no dispone de método propio, usamos setMetaData():

Los metas formados de esta manera son los típicos que contienen los atributos name y content. Si queremos que el resultado sea un meta con atributo http-equiv, tendremos que usar el mismo método pero con un argumento más:

Finalmente, debemos tener en cuenta que existen metatags que no corresponden a los estándares, sino que deben ser añadidos para la correcta ejecución de lógica de terceros (como scripts de Facebook por ejemplo):

Eso es todo. Recordad que toda esta información y más, forma parte de los cursos que ofrecemos de Joomla.
Espero que este artículo os sea de utilidad y como reencuentro con la actividad del blog que no he podido atender por falta de tiempo, durante una temporada que ya se hacía larga.
Nada más. Un cordial saludo a todos y hasta otra.

TIPOS DE EXTENSIONES EN JOOMLA.

Tipos de extensiones en Joomla

Tipos de extensiones en JoomlaAlgo que tienen en común la práctica totalidad de herramientas o aplicaciones basadas en PHP, como pueden ser Joomla, Drupal, WordPress, etc., es que permiten su crecimiento, el aumento de sus funcionalidades, mediante el desarrollo de añadidos. Trataremos en esta entrada los tipos de extensiones en Joomla.
Cada herramienta proveerá una serie de reglas que aplicar al desarrollo de estos añadidos que de no aplicarse, harían que nuestros nuevos añadidos no funcionen, no lo hagan correctamente, estemos “reinventando la rueda” (porque ya existe alguna clase o función en la herramienta que realiza lo que queremos, etc.).
En Joomla, estos añadidos reciben el nombre de extensiones y pueden ser de diferentes tipos. Cada uno es distinguible principalmente, por la función que desempeñan en Joomla. De hecho, muchas de las funcionalidades que utiliza Joomla por defecto, han sido creadas mediante extensiones.
¿Cuáles son entonces estos tipos de extensiones?

  • Componentes,
  • Módulos,
  • Plugins,
  • Plantillas,
  • Lenguajes

Componentes

Los componentes son las extensiones más complicadas. Tienen una parte pública (frontend) que muestra los datos resultantes de utilizar el componente y otra administrativa (backend), encargada de permitir la gestión del componente.
Cada componente puede añadirse al menú de navegación del sitio, como un elemento más del menú. De hecho, cada opción de menú, acaba llamando a un componente.
Los componentes son aplicaciones que pueden ser tan grandes como una red social o un portal de empleo y pueden servir de base para otras extensiones. Es común que un componente provea el contenido principal de una página de Joomla.
El menú Componentes contiene un enlace a todos los componentes instalados
Joomla, menú Componentes
Joomla, menú Extensiones
El resto de extensiones, tienen su correspondiente menú en Extensiones

Módulos

Los módulos o “boxes” podemos verlos como miniaplicaciones que podemos situar en diferentes posiciones de las páginas y que presentarán cierta información. Pueden trabajar independientemente, pero suelen estar enlazados a un componente.
Podemos acceder a los módulos a través del Gestor de módulos en el menú Extensiones.

Plugins

Los plugins son un tipo de extensión un tanto especial, pues siempre trabajan en conjunción con otras. Un plugin modifica el comportamiento básico de otra extensión ante un evento. Un ejemplo simple: queremos que cuando se guarde un contenido, el plugin tome ese contenido y elimine de él cualquier palabra que consideremos ofensiva.
El nombre tradicional para los plugins es “Mambots”.
Podemos acceder a los plugins a través del Gestor de plugins en el menú Extensiones.

Plantillas

Las plantillas son las extensiones que establecen el diseño de un portal Joomla y al mismo tiempo, indican las posiciones donde podemos situar módulos. Podemos hacer la plantilla más o menos completa, proveyendo incluso un área administrativa donde el usuario pueda modificar el diseño de ésta, sin necesidad de modificar el código fuente de la plantilla.
Podemos acceder a las plantillas mediante el Gestor de plantillas en el menú Extensiones como siempre.

Lenguajes

Por último, los lenguajes son extensiones más bien simples comparadas con las anteriores, ya que “solamente” traducen los textos de la interfaz de Joomla.
Podemos acceder a las plantillas mediante el Gestor de lenguajes en el menú Extensiones.
En conclusión: todas las extensiones se instalan a través del Gestor de Extensiones:
Joomla, gestor de extensiones
Y eso es todo por hoy, un saludo a todos.