(Tiempo estimado: 2 - 3 minutos)

Como bien sabes, en Joomla! dispones de una gran variedad de plantillas para poder utilizar en un proyecto web.

Lo que ocurre es que, a veces, necesitas incluir algún módulo pero... no dispones de la posición en la que quieres hacerlo.

¿Tenemos que cambiar de plantilla? No.

Vamos a ver cómo podemos crear una nueva posición en un template Joomla.

Ver posiciones de una plantilla Joomla

Para este ejemplo me voy a basar en la plantilla Protostar.

Esta es la plantilla que viene por defecto en una instalación de Joomla!

Lo primero de todo, vamos a ver una captura con las posiciones actuales:

posiciones plantilla joomla

Para poder ver estas posiciones tienes que ir al panel de administración, ir a la opción de Extensiones del menú principal y al elemento "Gestor de Plantilla".

Haces clic en el botón de "Opciones" que se encuentra situado en la parte lateral derecha, justo debajo del logo de Joomla.

Aquí tienes que habilitar el campo "Previsualizar la posición de los módulos" que viene deshabilitado por defecto.

ver posiciones plantilla joomla

Una vez que que has habilitado este campo, en la parte de front tendrás que poner, al final de la URL, el siguiente código: ?tp=1
(Ejemplo: www.dominio.com/index.php?tp=1)

De esta forma podrás ver las posiciones de la plantilla seleccionada.

Crear nueva posición en plantilla Protostar

Una vez visto esto, te muestro los pasos a seguir para crear una nueva posición.

Esta nueva posición la crearemos arriba del todo y la vamos a llamar "nueva-posicion".

posiciones plantilla joomla nueva posicion

Para crearla tienes que ir a editar el fichero index.php que se encuentra en el directorio templates/protostar/ del raíz donde tienes instalado Joomla.

Dentro del fichero buscamos la etiqueta "header" (alrededor de la línea 136).

crear posicion joomla codigo

Aquí es donde vamos a crear esta nueva posición.

Para poder crear una nueva posición vamos a hacer uso del framework de Joomla que nos dice hay que usar la siguiente:

<jdoc:include type="modules" name="NOMBRE-POSICION"></jdoc:include>

Donde NOMBRE-POSICION es el nombre que queremos darle y ESTILO podemos elegir entre "none", "xhtml" y alguno más (incluso se puede crear un nuevo estilo como te mostraré en un futuro artículo).

En este caso, nuestra línea quedará de la siguiente manera:

<jdoc:include type="modules" name="nueva-posicion"></jdoc:include>

crear posicion joomla codigo2

De esta forma tan sencilla ya tenemos creada nuestra nueva posición.

crear posicion joomla nueva

Por último, tienes que editar el fichero templateDetails.xml, que se encuentra en el mismo directorio, para añadir el nuevo nombre de la posición y poder usarla en la asignación de los módulos desde el panel de administración de Joomla.

crear posicion joomla templatedetails

Ahora ya depende de ti el jugar con esta nueva posición, añadir alguna capa para poder darle estilos, etc.


Espero que te haya resultado sencillo este tip para Joomla!. Cualquier comentario ya sabes que es bienvenido.

Sobre el autor, Sergio Iglesias

Sergio Iglesias

Sergio Iglesias es formador, desarrollador y front-end del CMS Joomla!. A través de su blog y sus cursos puedes aprender a desarrollar tu propio portal web autogestionable.

 

¿Te ha gustado el artículo? ¡Suscríbete YA!

¿Necesitas un sitio web que funcione?

¿No quieres depender de nadie para gestionar tu página web?

Recibe contenido exclusivo y GRATIS mi curso sobre desarrollo de plantillas Joomla!


Me apunto ya!

Comentarios

#13 sergiois 21-03-2018 13:09
Hola Lucía,
En principio no sabría qué decirte. Si tienes la posición creada y has podido asignar un módulo, debería poder verse. Comprueba el tema de los nombres de las posiciones y demás a ver si puede ser por eso (lo dudo).
Sin ver algo para poder hacerme una idea no creo que pueda ayudarte mucho.
Un saludo,
Citar
#12 Lucía 20-03-2018 17:43
Hola, gracias por el tutorial. Tengo un problema:

he seguido las instrucciones y he asignado un módulo a la nueva posición. al previsualizar las posiciones de la plantilla el módulo aparece ahi, pero en el frontend sigue sin aparecer..

Qué podría hacer para solucionar esto?
Citar
#11 sergiois 21-01-2017 11:00
Hola Evy!

Me alegro que te resultara sencillo.

Un saludo y gracias por comentar!!
Citar
#10 Evy 21-01-2017 06:00
Hola! Gracias, me quedò de perla y muy sencillo lo muestras, así de sencillo fue. Solo me confundió (quizá no soy experta en el tema) que el código lo escribieras:
Pero en la captura de pantalla aparece: O style xml

Una vez lo modifiquè, quedó (Y) como necesita. Mil gracias
Citar
#9 Jose Arellano 25-01-2016 17:47
Cito a sergiois:
Hola Jose,

Me alegro que haya funcionado. Recuerda hacer los cambios en el override de los idiomas (carpeta language/overrides/es-ES.override.ini), ya que sino, cuando hagas una actualización, se eliminarán los cambios.

Un saludo,


Gracias de nuevo:

Declare en el archivo xml una sección (dentro en-GB.tpl_nombr etemplate.sys.i ni) en una subcarpeta de la misma plantilla de esta forma las descripciones viajan junto a la plantilla (eso espero).

Saludos
Citar
#8 sergiois 25-01-2016 08:26
Hola Jose,

Me alegro que haya funcionado. Recuerda hacer los cambios en el override de los idiomas (carpeta language/overri des/es-ES.overr ide.ini), ya que sino, cuando hagas una actualización, se eliminarán los cambios.

Un saludo,
Citar
#7 Jose Arellano 25-01-2016 03:13
Gracias Sergio:

funcionó.

Saludos.
Citar
#6 sergiois 24-01-2016 19:01
Hola de nuevo Jose,

Para eso tienes que editar el fichero de idiomas del template Protostar. Este fichero lo localizarás en language/es-ES/es-ES.tpl_protostar.sys.ini
Aquí tienes esa descripción que comentas.
Por ejemplo, para la posición 0 (position-0) aparece buscar. En este fichero, sería de la siguiente manera:
TPL_PROTOSTAR_POSITION_POSITION-0="Buscar"
Si cambias "Buscar", por lo que quieras que aparezca, lo tendrás resuelto.

Espero que esto resuelva tu duda.

Salu2!!
Citar
#5 Jose Arellano 24-01-2016 18:03
Gracias Sergio:

Eso si lo se, pero me gustaria saber si se puede agregar una descripción ejemplo: position-2[esta debajo del contenido].

Gracias nuevamente. un asaludo.
Citar
#4 sergiois 24-01-2016 17:39
Hola Jose,

Para hacer lo que comentas hay que añadir la posición en el fichero templateDetails .xml, en la sección de
Tienes que declarar esa nueva posición ahí, NombrePosicion
De esta forma luego se mostrará en los módulos para poder seleccionarla.

Gracias por comentar y un saludo,
Citar

Escribir un comentario

Puedes publicar el comentario que quieras, pero si lo considero SPAM será eliminado automáticamente.

 

SergioIglesias.NET te informa que los datos de carácter personal que nos proporciones rellenando este formulario serán tratados por Sergio Iglesias Sánchez como responsable de esta web. La finalidad de la recogida y tratamiento de los datos personales que te solicitamos es, únicamente, para gestionar los comentarios de este blog. La legitimación se realiza a través del consentimiento del interesado. Te informamos que los datos que nos facilitas estarán ubicados en los servidores de SiteGround (proveedor de hosting). Ver política de privacidad de Siteground. El hecho de que no introduzcas los datos de carácter personal que aparecen en el formulario como obligatorios podrá tener como consecuencia que no pueda atender tu solicitud. Podrás ejercer tus derechos de acceso, rectificación, limitación y suprimir los datos en info@sergioiglesias.net así como el derecho a presentar una reclamación ante una autoridad de control. Puedes consultar la información adicional y detallada sobre Protección de Datos en mi política de privacidad.

¿Quieres tener un sitio web que funcione?

Contacta conmigo