Joomla!


@rolando_caldas

CC by-nc-sa  Rolando Caldas Sánchez  

Qué es Joomla!



Joomla! es un CMS que tiene como objetivo ser una solución real para cualquier tipo de necesidad dentro del mundo del desarrollo web. 

Presta especial atención a permitir que el usuario pueda personalizar "todo" desde el panel de administración, minimizando en la medida de lo posible la necesidad de modificar código.

Cómo nace Joomla!


En el año 2005, la comunidad de desarrolladores del CMS Mambo, decidieron abandonar el proyecto por desacuerdos con la corporación "Miro of Australia" y lanzar un fork de Mambo llamado Joomla! 

Estos desacuerdos llegaron cuando se creó una organización sin ánimo de lucro para fundar y proteger a Mambo de pleitos. Los desarrolladores defendían (y justificaban) que varias cláusulas de la estructura de la fundación violaban los valores básicos del código abierto.

Fortalezas


  • Joomla! es software libre (GPLv2)
  • Instalación GUI
  • Multiplataforma
  • Multi-idioma y multi-lenguaje
  • Respetuoso con los estándares web
  • Orientado a SEO
  • Configuración altamente personalizable
  • Comunidad grande y muy activa

Fortalezas

Joomla! es software libre (GPLv2)


  1. La libertad de usar el programa, con cualquier propósito.
  2. La libertad de estudiar cómo funciona el programa y modificarlo, adaptándolo a tus necesidades.
  3. La libertad de distribuir copias del programa, con lo cual puedes ayudar a tu prójimo.
  4. La libertad de mejorar el programa y hacer públicas esas mejoras a los demás, de modo que toda la comunidad se beneficie.

Fortalezas

Instalación GUI


Joomla! fue uno de los primeros CMS en PHP que aportaron un instalador gráfico a través del Navegador Web. 

Antes de los instaladores GUI mucha gente tenía problemas para instalar un CMS, principalmente debido al miedo de "romperlo todo", lo que suponía una barrera de entrada para generalizar el uso de los CMS. Joomla! contribuyó a eliminar esta barrera.

Fortalezas

Multiplataforma


  • Los requerimientos de WordPress existen tanto en sistemas Windows como UNIX (Mac, Linux, etc)
  • A pesar de ser multiplataforma, lo habitual es utilizarlo en Linux, el sistema más común ofrecido por las empresas de alojamiento web (y el menos costoso).
  • Es recomendable instalarlo en un entorno LAMP (Linux, Apache, MySQL, PHP)

Fortalezas

Multi-idioma y multi-lenguaje


  • Por defecto, Joomla! se descarga e instala en inglés.
  • Sin embargo, existe la posibilidad de instalar nuevos idiomas y utilizarlos simultáneamente.
  • Desde la comunidad hispana de Joomla! se ofrecen las versiones de Joomla! en español. http://www.joomlaspanish.org/

Fortalezas

Respetuoso con los estándares web


El Consorcio World Wide Web (W3C - http://www.w3c.es/) trabaja para desarrollar estándares Web.  Joomla! realiza un especial esfuerzo para respetar al máximo los estándares de la W3C.  Cumplir los estándares web conlleva, entre otras cosas: 

  • Mejorar la carga de la página (los navegadores interpretan más rápido el contenido a mostrar)
  • Los motores de búsqueda (Google, Yahoo, etc) interpretan mejor el contenido, por lo que se favorece a la indexación y posicionamiento.

Fortalezas

Orientado a SEO


Joomla! tiene una serie de características que favorecen al SEO

  • Cumple los estándares web
  • Permite personalizar los títulos y los meta datos
  • Permite que el contenido tenga URL's amigables 

Fortalezas

Configuración altamente personalizable


La administración de Joomla! permite un grado de personalización encomiable, basando casi la totalidad de las opciones en un sistema de valores por defecto que pueden ser sobreescritos para cada elemento concreto del sitio web.

Fortalezas

Comunidad grande y muy activa


Debido a que fue uno de los primeros CMS de PHP en aplicar el patrón MVC y la orientación a objectos fue adoptado rápidamente por un gran número de programadores. 

Debilidades


  • Mala documentación del código.
  • Curiosa implementación de HTML5.
  • Vulnerabilidades.
  • Complejo para el usuario.

Debilidades

Mala documentación de código


Aunque es una tarea odiada por los programadores, cualquier proyecto de software libre que se precie debe tener una buena y extensa documentación de código.

Sólo es necesario comparar el código con WP o Drupal, para que las diferencias se hagan evidentes. En un CMS con los premios que tiene Joomla! a su espalda es, simplemente, inadmisible.

Debilidades

Curiosa implementación de HTML5


En su versión 3, Joomla! incluye los templates en HTML5. 

A la hora de implementar el HTML5, no sigue el mismo criterio
en los tres templates que vienen por defecto (beez3, protostar, system).

El template protostar directamente no utiliza HTML5 (aunque pase el validador) y utiliza hacks de CSS (práctica nada recomendable).

Debilidades

Vulnerabilidades


Como es habitual en los CMS, Joomla! no está libre de vulnerabilidades, aunque en contraste con otros CMS
más populares, acutalmente su númeor de vulnerabilidades
es reducido.

Sin embargo, algunas de las opciones de Joomla! tiene (como almacenar los datos del FTP) son claramente inseguras y la necesidad de que estén o no son, cuanto menos cuestionables.

Debilidades

Complejo para el usuario


La administración y gestión de Joomla! es, de entrada, altamente compleja. 

No es una administración intuitiva, todo lo contrario. Las primeras horas e incluso días son cruciales ya que las tareas más básicas, al principio, conllevan una inversión de tiempo elevada, ya sea probando o buscando por Google la solución.

Requerimientos


A partir de la versión 3.x


PHP 5.3.1 o superior  con Magic Quotes GPC off
MySQL 5.1 o superior con soporte InnoDB

Además de MySQL también soporta otras bases de datos, en http://www.joomla.org/technical-requirements.html
se puede consultar la tabla completa.

Instalación


  1. Contratar un espacio web con los requerimientos mínimos y acceso FTP.
  2. Crear una cuenta de acceso FTP si no existe ninguna por defecto.
  3. Crear una base de datos y asociarle un usuario si no existe ninguna por defecto.
  4. Ir a http://www.joomlaspanish.org/ y descargar la última versión en español (http://bit.ly/11vYu9o)
  5. Descomprimir el fichero y subir el contenido de la carpeta Joomla_3.0.3-Stable-Full_Package a la carpeta raíz de acceso web de tu espacio.
  6. Acceder a http://www.example.com/

Instalación

Configuración


Lo primero que nos solicita la instalación de Joomla! es el idioma en el que se va a instalar (Spanish) y la configuración básica del sitio:

  • Nombre del sitio
  • Descripción
  • Email del administrador
  • Nombre de usuario del administrador
  • Contraseña (se requiere confirmar)
  • Instalar con el sitio en modo "fuera de línea"

Instalación

Base de datos


  • Tipo de base de datos (MySQLi)
  • Hospedaje (hostname).
  • Usuario.
  • Contraseña.
  • Base de datos.
  • Prefijo de las tablas.
  • Respaldo previo base de datos.

Es interesante ver cómo el prefijo de las tablas se genera de forma aleatoria, dando un plus de seguridad.

Instalación

Visión general

Es el paso previo a Instalar, en esta pantalla podremos seleccionar si queremos que Joomla! instale datos de ejemplo y si ha de enviarnos por correo electrónico los datos de configuración.

Para una instalación de pruebas, es buena idea incluir datos de ejemplo ya que así podemos ver cómo se estructura el contenido en Joomla!. En nuestro caso no instalaremos los datos de ejemplo.

Además, nos muestra información de interés sobre la configuración del servidor y sus valores recomendados por Joomla!

Joomla! Instalado


Ya tenemos nuestro Joomla! 3 instalado y en la pantalla final del instalador nos solicitan que se elimine la carpeta de instalación. Hasta que este directorio sea eliminado no podremos visitar ni el sitio ni la adminsitración.

Como en nuestro servidor tenemos mod_fastcgi activado, el directorio se podrá eliminar clicando en el botón que Joomla! nos proporciona para ello. De no tener ni mod_fastcgi ni mod_suphp deberemos eliminar el directorio desde el FTP.

Listos para empezar



Por fin tenemos nuestro Joomla! instalado y podemos acceder a su administración desde http://www.example.com/administrator

Es importante tener en cuenta que en Joomla! la administración y la parte pública están totalmente desacopladas, o sea, cuando te conectas a la administración seguirás estando como anónimo en la parte pública.

¿Por dónde empezamos?


Ya sabemos que tenemos que planificar y todo lo que 
ello conlleva gracias a que ya lo vimos cuando tocamos la
parte de WordPress.

Se puede consultar la presentación de WordPress y todo lo relacionado con la planificación en:

http://www.rvl.io/rolando_caldas/wordpress-1
http://www.rvl.io/rolando_caldas/wordpress-2

Las extensiones


En Joomla!, todo lo que instales son extensiones. 

Estas extensiones se agrupan en grandes bloques:

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

Las extensiones

Componentes


Joomla! denomina componente a aquella extensión que tiene por finalidad "presentar el contenido principal de la página". Son funcionalidades completas que presentan una solución global como:

  • Contactos
  • Noticias Externas
  • Banners
  • Encuestas

Esto puede ser confuso ya que componente es, básicamente, lo que en otros CMS se denomina módulo.

Las extensiones

Lenguajes


Joomla! es multi-idioma y multi-lenguaje gracias a este tipo de extensión, que permite empaquetar los lenguajes como paquetes de lenguaje o paquetes de extensión de lenguaje. 

Esto permite internacionalizar tanto el núcleo de Joomla! como los componentes y módulos de terceros.

Las extensiones

Módulos


De forma muy básica, un módulo es una extensión ligera destinada a presentar contenido. O sea, sería algo parecido a los Widgets en WordPress o a los bloques en otros CMS ya que suelen destinarste a mostrar información "secundaria" en bloques.

Las extensiones

Plantillas



Estas extensiones son las que se encargan de implementar 
la apariencia gráfica en Joomla!

Las extensiones

Plugins


Esta extensión fue una auténtica revolución en su momento.

Un plugin es una porción de código que se ejecuta cuando
tiene lugar un evento predefinido en Joomla!

Es muy habitual que a la hora de agregar contenido existan "tags" destinados a activar o desactivar un determinado plugin, de forma que uno pueda indicar dónde se ha de ejecutar un plugin y dónde no.

Un pequeño paseo


La administración de Joomla! es muy completa y las opciones disponibles suelen ir más allá de nuestro entendimiento.

Vamos a recorrer los principales lugares de nuestro Joomla! para intentar ponernos en situación y descubrir lo que Joomla! nos ofrece.

Un paseo por Sistema


Nada más conectarnos a la administración veremos nuestro Panel Principal, donde tendremos un resumen de nuestro sitio web.

Veremos una serie de accesos rápidos para gestionar nuestro sitio web y un menú secundario para adentrarnos en las opciones de sistema:

  • Configuración Global
  • Información del sistema
  • Vaciar la caché
  • Global check-in
  • Instalar Extensiones

Un paseo por Sistema

Configuración Global


La configuración global se agrupa en diferentes pestañas según la afinidad de su contenido.

  • Sitio
  • Sistema
  • Servidor
  • Permisos
  • Filtro de textos

Un paseo por Sistema

Configuración Global

Sitio

En este apartado tenemos las opciones de configuración relacionadas con el sitio web de forma general, entre otras:

  • Nombre del sitio.
  • El editor WYSIWYG a utilizar.
  • Elementos a mostrar por página.
  • Configuración SEO
  • Metadatos

Un paseo por Sistema

Configuración Global

Sistema

En este apartado tenemos las opciones de configuración relacionadas con el funcionamiento "a bajo nivel" del sitio web.

  • Ubicación de los logs de Joomla!
  • Activación del sistema de caché.
  • Activación del modo de depuración (debug).
  • Configuración de sesión

Un paseo por Sistema

Configuración Global

Servidor

En este apartado tenemos las opciones de configuración destinadas a comunicar nuestro Joomla! son los servicios que necesita apra funcionar correctamente.

  • Ruta del directorio temporal
  • Configuración FTP (no configurar)
  • Configuración de la base de datos.
  • Configuración E-mail (si se va a usar un servicio de correo remoto como gmail a través de PHP Mail o SMTP es recomendable utilizar una dirección exclusiva para ello).

Un paseo por Sistema

Configuración Global

Permisos


Común tanto para la configuración global como para los diferentes componentes instalados en nuestro Joomla!, desde aquí se puede controlar el nivel de acceso a las diferentes opciones en base al sistema de grupos de usuarios.

Esta opción es la que permite establecer contenido y acciones diferenciadas según el tipo de usuario conectado.

    Un paseo por Sistema

    Configuración Global

    Información del sistema


    Este apartado nos muestra datos interesantes de nuestro espacio web y, sobre todo, el estado de los permisos de los directorios de nuestro Joomla! Desde aquí podremos ver en qué directorios no podrá escribir nuestro Joomla!, algo especialmente importante para la subida de archivos (imágenes, videos, etc) y para la instalación de las diferentes extensiones.

      Un paseo por Usuarios


      El sistema de usuarios es el habitual para CMS orientados a portales web ya que puedes crear usuarios y/o permitir su registro, agrupándolos por grupos de usuarios de forma que puedas tenerlos agrupados por tipos o niveles.

      Posteriormente, gracias al sistema de permisos, se podrán personalizar acciones según el grupo de usuario.

      Como curiosidad, los administradores pueden agregar notas a los usuarios, estas notas son informativas y sirven para su consulta por parte de los administradores, de esta forma se pretende permitir controlar a los usuarios según sus acciones pasadas.

      Un paseo por Contenido

      Gestor de artículos


      En WordPress teníamos, por defecto, posts y páginas... en Joomla! tenemos artículos.

      Los artículos son la "unidad de contenido final" de Joomla!, utilizados de forma habitual para noticias, entradas de blogs y pantallas estáticas.

      La configuración de los artículos es extremadamente extensa, proporcionándote un alto grado de personalización aunque también unas "ganas terribles" de dejarlo como viene.

      Un paseo por Contenido

      Añadir un nuevo artículo


      Cuando vamos a crear un nuevo artículo, Joomla! agrupa las diferentes opciones en los siguientes grupos:

      • Detalles del artículo
      • Opciones de publicación
      • Opciones del artículo
      • Opciones de la pantalla de edición
      • Opciones de metadatos
      • Permisos del artículo

      Un paseo por Contenido

      Añadir un nuevo artículo

      Detalles del artículo

      • Título: El nombre de nuestro artículo, página, etc.
      • Categoría: Todos los artículos se tienen que categorizar.
      • El contenido: El cuerpo del artículo se escribe en un editor WYSIWYG, aunque éste puede ser desactivado. En el cuerpo del artículo podemos insertar una serie de elementos especiales:
        • Artículo: Permite incorporar un enlace a otro artículo.
        • Imagen: Para subir una imagen como parte del cuerpo.
        • Salto de página: Permite paginar un artículo.
        • Leer más: Permite establecer un texto resumen para los listados y el resto para la vista del artículo.

      Un paseo por Contenido

      Añadir un nuevo artículo

      Detalles del artículo

      • Estado: Un artículo puede estar publicado, despublicado, archivado o en la papelera.
      • Acceso: Permite establecer el nivel de acceso para poder ver el artículo.
      • Destacado: ¿es un artículo para destacar?
        • Idioma: Establece el idioma del artículo, puede ser todos o sólo uno de los existentes.

        Un paseo por Contenido

        Añadir un nuevo artículo

        Opciones de publicación

        • Alias: Será utilizado como parte de la URL, si se deja en blanco Joomla! lo cubrirá automáticamente en base al título.
        • Creado por: Se establece el usuario que ha creado el artículo.
        • Creado por alias: Si no se deja en blanco, este será el valor que se mostrará como el autor del artículo en la zona pública.
        • Fecha de creación.
        • Inicio de la publicación: Fecha a partir de la cual el artículo estará disponible.
        • Finalización de la publicación: Fecha en la que Joomla! debe desactivar el artículo.

        Un paseo por Contenido

        Añadir un nuevo artículo

        Opciones del artículo y pantalla de edición


        Desde la gestión de artículos se puede acceder a la configuración general de los artículos. Desde las opciones del artículo se pueden sobreescribir todos los valores de la configuración general relacionados con la visualización del artículo.

        Este grupo de opciones permite que cada artículo tenga sus propias características, muy en la línea del objetivo de Joomla!

        Un paseo por Contenido

        Añadir un nuevo artículo

        Opciones de los metadatos


        En un esfuerzo de Joomla! por dar al usuario el control sobre el posicionamiento de su web, para cada artículo se pueden personalizar siguientes metadatos:

        • Meta description
        • Meta keywords (ya no valen para nada)
        • Robots (quieres que el artículo no se indexe??)
        • Autor
        • Derechos del contenido
        • Referencia externa

        Un paseo por Contenido

        Añadir un nuevo artículo

        Permisos del artículo


        Desde esta pantalla se pueden personalizar los accesos a la gestión del artículo para cada uno de los grupos de usuarios existentes.

          Un paseo por Contenido

          Gestor de categorías


          • Los artículos se organizan por categorías.
          • Las categorías son multi-nivel.
          • Pueden establecerse diferentes categorías según idioma.
          • Las categorías tienen opciones de metadatos.
          • Las categorías tienen permisos.
          • Se puede establecer si la vista de artículos de una categoría es en modo blog o modo lista.

          Un paseo por Componentes


          Los componentes son un tipo de extensiones de Joomla! Como, por así decirlo, un componente agrupa un tipo de contenido en Joomla! (como serían los artículos) suelen tener su propia zona para configurar y para gestionar el contenido vinculado con el componente.

          Por defecto, tras instalar nuestro Joomla! tenemos varios componentes activados:

          Actualización / Anuncios / Buscar / Búsqueda inteligente /
          Canales electrónicos / Contactos / Enlaces web / Mensajería /
          Redirección

          Un paseo por Componentes

          Actualización de Joomla!


          Este componente nos informa si tenemos nuevas actualizaciones disponibles de Joomla.

          En sus opciones podemos establecer el servidor de actualizaciones a utilizar para realizar las comprobaciones:

          • Versión con soporte de larga duración
          • Versión con soporte de corta duración
          • Versión en desarrollo
          • Servidor ajeno a Joomla!

          Un paseo por Componentes

          Anuncios


          Es habitual, en los sitios web con relativo tráfico, la existencia de publicidad a modo de banners. Joomla! incorpora un sistema de gestión de anuncios para cubrir esta necesidad.

          • Permite categorizar los anuncios.
          • Permite vincular los anuncios con clientes.
          • Los anuncios creados pueden guardar estadísticas de clics e impresiones.
          Para visualizar los banners en el sitio web, se utilizará el módulo de anuncios incluido en Joomla!

          Un paseo por Componentes

          Buscar


          Joomla! posee un buscador interno y gracias a la configuración de este componente se puede guardar un registro de las búsquedas para poder ser consultado desde la administración.

          Habitualmente este tipo de opciones consumen gran espacio en la base de datos, por lo que salvo necesidades concretas se recomienda no activar el registro de búsquedas.

          Un paseo por Componentes

          Buscar


          Joomla! posee un buscador interno y gracias a la configuración de este componente se puede guardar un registro de las búsquedas para poder ser consultado desde la administración.

          Habitualmente este tipo de opciones consumen gran espacio en la base de datos, por lo que salvo necesidades concretas se recomienda no activar el registro de búsquedas.

          Un paseo por Componentes

          Canales electrónicos


          Siguiendo la ya habitual clasificación del contenido por categorías, Joomla! nos permite incorporar direcciones RSS para transformar nuestro Joomla! (o parte de él) en un lector de feeds.

          Enlaces web


          Las habituales secciones que actúan como recopilaciones de enlaces web también son posibles, por defecto, en Joomla! Como no, organizado con un sistema de categorías.

          Un paseo por Componentes

          Mensajería

          Un sistema de mensajes privados, muy habitual en los foros web. A día de hoy se ha visto substituidos por "chats individuales" en tiempo real.

          Redirección

          Componente muy interesante que permite crear redirecciones web. Es muy útil cuando se realizan cambios en los alias o cuando se quiere migrar parte del contenido de tu sitio web a otras secciones evitando que los motores de búsqueda se encuentren con un error404 al acceder a las direcciones indexadas.

          Un paseo por Extensiones


          Joomla! nos da la posibilidad de gestionar todas nuestras extensiones desde un único lugar.

          Recordemos que las extensiones se agrupan por tipos, esto se ve reflejado también en nuestro panel, pudiendo gestionar todas las extensiones al mismo tiempo o filtrarlas por tipo para trabajar así con un número menor.

          Un paseo por extensiones

          Instalar extensiones


          Joomla! permite una instalación de extensiones totalmente GUI, aunque para ello, como siempre, debemos tener los permisos suficientes en el servidor. Joomla! nos da tres vías:

          • Subir paquete: Tan fácil como subir el paquete zip.
          • Instalar desde un directorio: Si tenemos las extensiones a instalar ubicadas en un directorio dentro de nuestro espacio web, podremos pedir a Joomla! que las busque e instale.
          • Instalar desde una URL: Si se tiene la URL del paquete, tan sencillo como decírsela a Joomla! y dejar que se encargue.

          Un paseo por extensiones

          Activando extensiones


          Cuando una extensión es instalada no se activa por defecto, tendremos que ir a "Gestionar" para buscar nuestra extensión y activarla. Siempre es recomendable configurarla antes de proceder a su activación.

          Es importante dedicar tiempo a la gestión de extensiones ya que es muy común olvidarse de activar las extensiones tras la instalación.

            Un paseo por Menús


            Gracias a "Contenido" y a "Componentes" podemos alimentar a nuestro sitio web con contenido de lo más variopinto.

            Sin embargo, necesitamos organizar y determinar cómo se va a mostrar todo ese contenido, es aquí dónde entran en juego los menús.

            Un menú tendrá una serie de elementos, cada elemento tendrá su URL y mostrará contenido, ya sea un listado o un artículo concreto.

            Realmente es en menús dónde creamos nuestras secciones públicas.

            Joomla! y el multi-idioma




            Una de las mayores barreras que se encuentra un administrador nobel en Joomla! es la activación y uso del multi-idioma.

            Por defecto el multi-idioma viene desactivado. Vamos a detenernos en el proceso para activar y trabajar con el multi-idioma ya que no es un proceso sencillo ni intuitivo.


            Joomla! y el multi-idioma

            Activando los módulos

            Ruta: Extensiones => Gestor de módulos => Administrador

            Publicamos el módulo Multilanguage status.

            Activando los plugins

            Ruta: Extensiones => Gestor de plugins

            Publicamos "Sistema - Filtrar idiomas"
            Publicamos "Sistema - Código del idioma"

            Joomla! y el multi-idioma

            Activando los plugins

            Ruta: Extensiones => Gestor de plugins

            Publicamos "Sistema - Filtrar idiomas"
            Publicamos "Sistema - Código del idioma"

            En la configuración de "Filtrar idiomas", dentro de opciones básicas activamos la "Asociación de elementos".

            Joomla! y el multi-idioma

            Estado tras la activación


            Tras activar los módulos y plugins multi-idioma podemos detectar una nueva opción a la hora de gestionar nuestros artículos:

            Asociaciones

            Gracias a las asociaciones, podemos crear un artículo en español y vincularlo (manualmente) con otro en inglés indicando así que ambos son el mismo artículo sólo que en diferentes idiomas.

            Sin embargo, aún no tenemos nuestro sitio en multi-idioma.

            Joomla! y el multi-idioma

            Creando el módulo selector de idioma


            Accedemos a Extensiones => Gestor de módulos => Sitio

            Si no tenemos dentro de los módulos disponibles el selector de idioma, tenemos que crearlo. Uno de los puntos más interesantes de joomla es que los módulos se pueden crear.

            Cuando se instala una extensión de tipo módulo, realmente se está permitiendo crear módulos de esa extensión, lo que viene a significar que podemos tener varios módulos que muestren la misma información. Esto es muy útil para tener la misma información en diferentes áreas de la web según la página cargada.

            Joomla! y el multi-idioma

            Creando el módulo selector de idioma


            Tras clicar en nuevo, nos sale el listado de tipos de módulos que tenemos disponibles para su uso, aparecerán tanto los módulos por defecto de Joomla! como los incorporados en las diferentes instalaciones de extensiones.

            Buscamos el "Selector de idioma" y clicamos en su título. Veremos la pantalla de configuración del módulo que, como viene siendo habitual en Joomla!, viene cargadita de opciones.

            Joomla! y el multi-idioma

            Creando el módulo selector de idioma

            Detalles

            • Título: Campo obligatorio, el nombre de nuestro módulo.
            • Mostrar el título: Nos permite ocultar el título cuando se muestre en nuestro sitio.
            • Posición: La posición que va a ocupar este módulo en nuestro sitio web. Como vamos a colocarlo en la parte superior derecha y nuestra plantilla es el Protostar, buscamos la opción "Buscar [position-0] dentro del grupo de Protostar.
            • Estado: Como siempre, podemos tenerlo publicado, sin publicar o enviado a nuestra papelera.

            Joomla! y el multi-idioma

            Creando el módulo selector de idioma

            Detalles

            • Acceso: Nivel de acceso del usuario para poder ver este módulo.
            • Inicio de publicación: Podemos crear el módulo y decidir que empiece a mostrarse en el sitio en cualquier momento futuro.
            • Finalización de la publicación: Si nuestro módulo fuese temporal, como podría ser un área promocionando una feria, podríamos indicar que al día siguiente de que finalice dicha feria, nuestro módulo de despublique.
            • Idioma: Podemos indicar si este módulo debe mostrarse para todos los idiomas o si sólo ha de visualizarse cuando la página sea de un idioma concreto.

            Joomla! y el multi-idioma

            Creando el módulo selector de idioma

            Opciones

            • Texto inicial: Como su valor indica, permite colocar texto en el módulo antes de su contenido.
            • Texto final: Como el inicial, pero al final.
            • Usar lista de selección: Nos generará una lista de los idiomas disponibles, no podríamos personalizar su visionado.
            • Usar la imagen de banderas.
            • Mostrar horizontalmente.
            • Idioma activo.
            • Nombres completos del idioma.

            Joomla! y el multi-idioma

            Creando el módulo selector de idioma

            Opciones Avanzadas

            • Presentación alternativa: Algunos módulos (especialmente los de listados) tienen diferentes vistas para mostrar el contenido, aquí se podría seleccionar la deseada.
            • Clase CSS del módulo: Gracias a este campo, podremos tener nuestro módulo bajo una clase de CSS única (o compartida) pudiendo así personalizar la vista de un solo módulo o de un grupo de módulos concreto a través del CSS.

            Joomla! y el multi-idioma

            Creando el módulo selector de idioma

            Asignación del módulo


            En las opciones hemos podido decidir en qué zona del sitio se mostrará nuestro módulo. Esta opción obtiene mucha potencia combinada con la asignación del módulo.

            La asignación del módulo nos permite decidir si ha de verse en todas las páginas, ninguna, sólo en unas cuantas o en todas exceptuando las que se especifiquen.

            Joomla! y el multi-idioma

            ¿Hemos terminado?


            Podríamos pensar que por fin ya está todo listo para tener funcionando nuestro multi-idioma, pero no es así.

            Si acudimos a nuestro sitio web, veremos que no aparece el selector de idioma por ninguna parte, aunque tengamos todo activado, incluso el selector de idioma!

            Y es aquí donde encontramos uno de las principales barreras que se encuentran los usuarios cuando les toca gestionar su primer Joomla!

            Joomla! y el multi-idioma

            El menú


            Realmente es en menús dónde creamos nuestras secciones públicas.

            Sí, el menú es la clave. Si entramos en Menús, vemos que tenemos un main menú que Joomla! nos creó por defecto. Como hemos visto, es en el menú dónde definimos realmente el contenido que se va a ver en nuestro sitio web.

            Joomla! y el multi-idioma

            El menú


            Podemos tener infinidad de menús secundarios que estén repletos de elementos que sean redirecciones de otros elementos de menú o incluso contenido propio, pero hay un mínimo necesario.


            Como la web va a estar en español e inglés, necesitaremos un menú dedicado exclusivamente a cada idioma. Sin esto, no veremos las tan preciadas banderitas para el cambio de idioma.

            Así pues, vamos a aprovechar el menú creado para que sea nuesto menú en español.

            Joomla! y el multi-idioma

            El menú


            Accedemos a Menús => Main Menu y editamos la entrada "Home" para configurarlo correctamente.


            Tenemos que entender que cada elemento de un menú es una pantalla de nuestro sitio web, por lo que tanto al crear como al editar un elemento del menú estamos determinando qué contenido se mostrará en la URL asociada (alias) al elemento de menú en cuestión.


            Joomla! y el multi-idioma

            El menú

            Detalles

            • Tipo de elemento del menú: Aquí establecemos qué tipo de página será este elemento. Vemos una serie de opciones agrupadas por, a grosso modo, componentes, en nuestro caso, por ahora, tenemos mostrar todos los artículos destacados.
            • Título de elemento del menú: Cómo se llamará nuestro elemento de menú.
            • Alias: El alias para su URL.
            • Idioma: ¿En qué idioma mostraremos la información? Spanish

            Joomla! y el multi-idioma

            El menú

            Opciones avanzadas


            En las opciones avanzadas tendremos la posibilidad de sobreescribr prácticamente toda la configuración tanto del elemento del menú como del contenido que se va a visualizar.

            En esta pantalla, además de personalizar, según el componente seleccionado también se tendrán valores de configuración necesarios para determinar qué contenido mostrar (no sólo el cómo).

            Joomla! y el multi-idioma

            El menú

            Asociaciones


            Por ahora no tenemos con qué asociar nuestra home, pero aquí se podrá vincular una pantalla con sus correspondientes en los demás idiomas, de forma que al cambiar de un idioma a otro en nuestro sitio web, nos lleve a la versión de nuestra pantalla, pero en el idioma seleccionado.

            Joomla! y el multi-idioma

            El menú

            Asignación de módulos para este elemento del menú


            Cuando creamos un módulo podemos escoger en qué lugar de nuestro sitio web se va a mostrar, pero como casi todo en Joomla! no es el único lugar dónde se puede llevar a cabo esta acción.

            Cuando editemos/agreguemos un elemento de menú podremos acceder al listado de módulos existentes y modificar las opciones de visualización de cada módulo clicando simplemente en su nombre.

            Joomla! y el multi-idioma

            El menú

            Bien, ya tenemos todo así que guardamos y...


            Se ha producido un fallo al guardar con el siguiente error: El parámetro del idioma para este elemento del menú debe estar asignado en 'Todos'. Siempre y cuando que el sitio esté configurado para funcionar con múltiples idiomas, por lo menos un elemento del menú predeterminado debe tener asignado en 'Todos' el campo del idioma.

            Joomla! y el multi-idioma

            El menú


            ¿Al menos un elemento del menú debe estar asignado a todos los idiomas?

            Bueno, para evitar confusiones cuando nuestro sitio web crezca en estructura y contenido, vamos a crear un nuevo menú para el español que, por ahora, tenga una home al igual que el existente.

            Una vez creado hacemos lo mismo con el inglés, esta vez asociando nuestra home inglesa con la española.

            Joomla! y el multi-idioma

            El menú


            Con nuestros dos menús de idioma creados, si vamos a nuestro sitio web veremos que ya tenemos las banderas de idioma!

            Pero nos falta un detalle. Si acudimos a Menús => Gestor de menús, veremos que en el listado tenemos para nuestros nuevos menús lo siguiente:

            Añadir un módulo para este tipo de menú

            Joomla! y el multi-idioma

            El menú

            Añadir un módulo para este tipo de menú


            Necesitamos tener un módulo creado que muestre los elementos de nuestro menú, para que el contenido de nuestro sitio web sea navegable. Así pues, tendremos que clicar en el texto para cada uno de nuestros menús de idioma.

            Lo crearemos con las siguientes características

            Joomla! y el multi-idioma

            El menú

            Añadir un módulo para este tipo de menú


            • Título oculto
            • Posición Protostar / Navegación [position-1]
            • Estado publicado
            • Sólo para el idioma del menú
            • Mostrar elementos del menú: Sí.

            Una vez terminemos, desactivaremos el módulo "Main Menu"

            Joomla! y el multi-idioma

            El menú

            Ahora sí que, por fin, tenemos nuestro sitio web multi-idioma y configurado para que la navegación sea como debe ser.


            Todo super-sencillo y muy intuitivo ¿verdad?

            Bueno, Joomla! nos proporciona un grado de personalización a través de la administración que nuestro WordPress no puede igualar, de hecho ni siquiera se acerca. Sin embargo, tanta opción y tanta posibilidad ha terminando generando una administración difícil de gestionar, no como en WP donde todo es prácticamente "Plug'n'Play"

            Al fin preparados!


            Tras mucho tiempo invertido en preparar nuestro sitio web, llega el momento de alimentarlo como es debido, necesitamos crear nuestras secciones, organizar nuestro menú, incluir los videos de youtube etc etc... vamos intentar dejar nuestro Joomla! lo más parecido a la versión de nuestra web en WordPress.

            ¿Qué toca ahora?

            Extensiones, extensiones, extensiones!!



            Las extensiones


            Ya conocemos los diferentes tipos de extensiones y desde dónde las podemos instalar en nuestro backend. Lo que aún no conocemos es dónde las vamos a encontrar.

            En WordPress vimos que todo estaba integrado en la administración, pudiendo buscar nuestros plugins y widgets sin salir de nuestro sitio web, mostrando la misma información que vemos en el sitio oficial de WP.

            Esto, en Joomla! no existe. Tenemos que ir a buscar nuestras extensiones a la red y luego utilizar una de las opciones que nuestro backend ofrece para instalarlas.

            Las extensiones


            Joomla! tiene el sitio web http://extensions.joomla.org/ dónde podemos encontrar las extensiones que la comunidad ha aportado para "extender" la funcionalidad de Joomla!

            Este sistema es muy habitual, Drupal también agrupa sus módulos en su sitio web y nosotros debemos descargarlos y subirlos al espacio web para poder activarlos desde la administración (aunque se está avanzando hacia un sistema de instalación más cercano al de WordPress)



            Las extensiones

            http://extensions.joomla.org/


            Joomla! ha intentado mantener un sistema de clasificación complejo para que el acceso a las extensiones sea sencillo, de hecho su búsqueda avanzada es muy interesante. Sin embargo, la sensación de mercadillo o de bazar chino es algo bastante latente.

            Cada extensión tiene asignada una serie de imágenes según su compatibilidad (Joomla! 2.5 o 3.x) y según su contenido, ya que una extensión puede llevar uno o varios tipos de extensiones.

            http://extensions.joomla.org/extensions/advanced-search

            Las extensiones

            http://extensions.joomla.org/


            Hay dos grandes características nefastas del directorio de extensiones que Joomla! nos proporciona.

            1. Las descargas no están en los servidores de Joomla!
            2. Incluye tanto extensiones gratuitas como extensiones de pago.

            Las extensiones

            http://extensions.joomla.org/

            Las descargas no están en los servidores de Joomla!

            Tanto WordPress como Drupal, nos ofrecen un repositorio real de extensiones (plugins, módulos, themes...) de forma que nos descargamos los complementos de sus propios servidores, incluso en el caso de Drupal cada complemento tiene su propia zona de documentación,  gestión de bugs, etc.

            En Joomla! no es así, los que nos ofrecen es un directorio de extensiones, pero a la hora de descargar una extensión, nos va a llevar a una URL ajena a Joomla! desde donde descargaremos la extensión.

            Las extensiones

            http://extensions.joomla.org/

            Las descargas no están en los servidores de Joomla!

            ¿Por qué es malo? Sólo un par de apuntes:

            1. La descarga no suele ser directa y, o bien tenemos que dar muchas vuelvas para conseguirla o bien nos piden un registro previo.
            2. Para subir la extensión a nuestro Joomla! tiene que ser un ZIP con una estructura concreta, pero nos encontraremos que descargamos la extensión y tenemos que descomprimirla en local porque lo que necesitamos subir está dentro del zip descargado.

            Las extensiones

            http://extensions.joomla.org/

            Incluye tanto extensiones gratuitas como extensiones de pago


            Todo lo que descargamos desde WordPress o desde Drupal es gratuito, puede ser que descarguemos un complemento que se conecta con un servicio externo de pago, pero la descarga en sí es gratuita. Esto no pasa con el directorio de extensiones de Joomla!

            Nos vamos a encontrar que un gran número de extensiones interesantes son de pago, lo cual puede llegar a ser frustrante. Como mínimo tendría que poder filtrarse claramente el contenido de pago.
            Made with Slides.com