SERGIOIGLESIAS

Blog sobre Joomla

Cómo crear una nueva posición en un template para Joomla!

@sergiois Tips Joomla 2 - 3 minutos Visto: 19415

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:

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:

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.

Suscríbete a mi newsletter

¿Te ha gustado el artículo? Suscríbete a mi newsletter y recibe contenido exclusivo.
Podrás hacer gratis un Curso de desarrollo de plantillas Joomla.

13 comentarios

  • Hola Lucía,<br />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).<br />Sin ver algo para poder hacerme una idea no creo que pueda ayudarte mucho.<br />Un saludo,
  • Hola, gracias por el tutorial. Tengo un problema:<br /><br />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..<br /><br />Qué podría hacer para solucionar esto?
  • 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: <br />Pero en la captura de pantalla aparece: O style xml<br /><br />Una vez lo modifiquè, quedó (Y) como necesita. Mil gracias
  • [quote name=&quot;sergiois&quot;]Hola Jose,<br /><br />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.<br /><br />Un saludo,[/quote]<br /><br />Gracias de nuevo:<br /><br />Declare en el archivo xml una sección (dentro en-GB.tpl_nombretemplate.sys.ini) en una subcarpeta de la misma plantilla de esta forma las descripciones viajan junto a la plantilla (eso espero).<br /><br />Saludos
  • Hola Jose,<br /><br />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.<br /><br />Un saludo,
  • Hola de nuevo Jose,<br /><br />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<br />Aquí tienes esa descripción que comentas.<br />Por ejemplo, para la posición 0 (position-0) aparece buscar. En este fichero, sería de la siguiente manera:<br />TPL_PROTOSTAR_POSITION_POSITION-0="Buscar"<br />Si cambias "Buscar", por lo que quieras que aparezca, lo tendrás resuelto.<br /><br />Espero que esto resuelva tu duda.<br /><br />Salu2!!
  • Gracias Sergio:<br /><br />Eso si lo se, pero me gustaria saber si se puede agregar una descripción ejemplo: position-2[esta debajo del contenido].<br /><br />Gracias nuevamente. un asaludo.
  • Hola Jose,<br /><br />Para hacer lo que comentas hay que añadir la posición en el fichero templateDetails.xml, en la sección de <br />Tienes que declarar esa nueva posición ahí, NombrePosicion<br />De esta forma luego se mostrará en los módulos para poder seleccionarla.<br /><br />Gracias por comentar y un saludo,
  • Hola Sergio:<br /><br />Gracias por los tutoriales. Tengo una pregunta, en Protostar como hago para poner una descripción de la posición y que aparezca en el menu desplegable en la parte de modulos.<br /><br />Saludos
  • Hola Pascual,<br /><br />Lo primero, gracias por comentar.<br /><br />Con respecto a tu pregunta te falta añadir la posición en el fichero templateDetails.xml de la plantilla. Puedes ver la última imagen de este artículo.<br /><br />Un saludo,
  • Hola<br /><br />Estoy realizando mi nueva web en joomla con la plantilla framed de BDThemes (trabajo con xampp)<br />He seguido tu tutorial para crear una posición nueva, he modificado el archivo index php y el config de la plantilla.<br /><br />La nueva posición aparece en la web en el ?tp=1<br /><br />Pero al buscar la posición en módulos no aparece<br /><br />Qué he hecho mal?<br />Gracias

Artículos relacionados

Solicita presupuesto

¿Quieres una página web que funcione?

Contacta conmigo y hablemos de tu proyecto.