Trucos y Soluciones - Joomla!

plantilla
Las plantillas que podemos usar en Joomla no siempre incluyen todos los elementos de posición que necesitamos. Si necesitamos personalizar nuestra plantilla añadiendo modulos en posiciones que nuestra plantilla no permite, siempre tenemos la opcion de añadirlas nosotros.

El fichero templateDetails.xml, que encontramos en /templates/<templatename>, permite definir todos los elementos que forman parte de la plantilla, definidos en una estructura XML. Para insertar una nueva posición debemos localizar la etiqueta <positions> y añadir una nueva linea con el nombre de la posición deseada, en el ejemplo "extra".

 

 

templateDetails.xml

<positions>
<position>left</position>
<position>right</position>
<position>top</position>
...

<position>extra</position>
</positions>

 

El siguiente paso a realizar dependerá de la versión de Joomla! con la que estemos trabajando:

 

Edición de la plantilla en Joomla! 1.5

Para incluir en la plantilla la nueva posición es necesario editar el fichero index.php del directorio /templates/<templatename> desde el propio panel de gestión y seleccionar el lugar que ocupará. Anadiremos las siguientes líneas y guardaremos el resultado.

index.php

<!-- BEGIN: extra -->
<div class='posicion-extra'>
<jdoc:include type="modules" name="extra" style="xhtml" />
</div>
<!-- END: extra -->

 

 

Edición de la plantilla en Joomla! 1.7

Entra al gestor de plantillas en el panel de administración y selecciona la pestaña Plantillas. Una vez en este listado selecciona la plantilla que estés usando y accede a la página de edición de la plantilla. Cliquea sobre "Editar la página principal de Plantillas" para acceder a la edición de la plantilla en formato HTML. Para este paso deberás saber algo de HTML y determinar el punto exacto donde debes incluir el código de la nueva posición, según la posiciones ya existentes en la plantilla. Añade las siguientes líneas en el lugar que hayas elegido y guarda el resultado.

<!-- BEGIN: extra -->
...
<div class='posicion-extra'>
<?php  echo $view->position('extra', 'dd-nostyle') ; ?>
</div>
...
<!-- END: extra -->

 

Por último podemos editar nuestro fichero css, para incluir un nuevo estilo para la capa "posicion-extra" que nos permitirá ajustar el aspecto final en nuestra web.

Con estos sencillos pasos disponemos de una o varias nuevas posiciones que complementan la plantilla base, permitiendonos infinitas posibilidades para nuevos modulos o reubicación de los ya existentes.

 


Share Link: Bookmark Google Yahoo MyWeb Del.icio.us Digg Facebook Myspace Reddit Ma.gnolia Technorati Stumble Upon
Recuerda: Si te resulta util este artículo compártelo en tus redes sociales favoritas

Comentarios  

 
# Ivan 15-06-2011 02:53
Que tal francisco, antes que nada dejame felicitarte por tu pagina esta muy bien hecha.
bueno dejame decirte que yo quiero realizar una pagina para mi localidad en la cual quiero pues mostrar publicidad y demas, mi pregunta es si me podrias ayudar en como poner mas posiciones a un template creado con el programa Artister para la plataforma Joomla, veo que tu has hecho modificaciones al tuyo y que has agregado muchas, creeme que lo he intentado pero no me ha podido salir, te agradeceria mucho si m ayudaras con eso, sin mas de mi parte seria todo.....espero tu pronta respuesta. . . muchas gracias...! !
Responder | Responder con una citación | Citar
 
 
# Francisco 15-06-2011 09:48
¡Hola Ivan!

Estaré encantado de ayudarte, ¿podrías indicarme la dirección de la página que estás haciendo, que punto del proceso has completado y que problema estás observando?
Responder | Responder con una citación | Citar
 
 
# Ivan 15-06-2011 23:41
Ohh, bueno por el momento estoy trabajandolo local, aun no los he subido a un servidor, nose como podras proporcionarme informacion, lo que me interesa es saber como es que agregas mas posiciones, nose si tendras alguna plantilla de ejemplo que me puedas proporcionar, si no es mucho pedir y yo poder basarme en ella y asi realizar los cambios que deseo, o sera que me sera un poco complicado????... de igual forma te lo agradesco....Saludos! !
Responder | Responder con una citación | Citar
 
 
# Ronald 26-06-2011 23:30
Saludos Francisco, yo estoy trabajando con una plantilla de yootheme (enterprise) ella ya tiene las posiciones de los modulos ocupadas con unos que cree, quiero establecer una nueva posicion especificamente debajo de una posicion X (ocupada), pero si establesco un módulo nuevo en esa posicion, se dividen los modules en dicho espacio´no se acomoda debajo, necesito crear una posiciojn para que el modulo se ajuste debajo del otro, justo allí, me pregunto si esto se puede? si es así, te agradecería infinitamente tu ayuda, muchas gracias!
Responder | Responder con una citación | Citar
 
 
# Francisco 27-06-2011 18:10
Hola Ronald,

¿sería posible conocer la dirección de tu página para poder ver el problema que estás teniendo?.

Es importante que en la linea el parametro name contenga un nombre que no se encuentre ya presente en ningún otro módulo de tu plantilla, sino el motor de joomla interpreta que son dos instancias del misma posición. Es bueno además que el id de la capa que lo contiene sea tambien único con la idea de poder definir estilos específicos en tus css para ese identificador de capa concreto.

Cuéntanos tus progresos.

Un saludo
Responder | Responder con una citación | Citar
 
 
# Damian 24-11-2011 13:13
Buen dia, tengo una duda. Si quiero que la posicion que estoy creando quede en la parte superior de la pantalla y a la derecha de esta como hago. Necesito crear una para el login, y logro crearla pero me coloca el modulo a la izquierda o donde quiera. Gracias
Responder | Responder con una citación | Citar
 
 
# Andrea 29-11-2011 07:07
hola.. muy buen post me ha ayudado mucho sin embargo estoy utilizando una plantilla de Yoothemes y en el archivo php solo hay unas cuantas lineas de codigo que al parecer me redireccionan a otros archivos, y no encuantro donde poner el codigo del div de a nueva posicion.. alguna idea de donde encontrarlo??
Responder | Responder con una citación | Citar
 
 
# Francisco 29-11-2011 10:19
Cito a Damian:
... Si quiero que la posicion que estoy creando quede en la parte superior de la pantalla y a la derecha de esta como hago. Necesito crear una para el login, y logro crearla pero me coloca el modulo a la izquierda o donde quiera...


Hola Damian,

necesitas modificar el fichero .css donde se definen los estilos de capas.

En primer lugar si vas a usar una posición relativa (position:relat ive) debes localizar en primer lugar las capas entre las que se debe mostrar la nueva que estas incluyendo dentro del fichero "templateDetails .xml" y crear la nueva "extra" entre ambas. Si por el contrario vas a usar posiciones fijas o absolutas (position:fixed o position:absolu te) la posición en la pantalla sólo dependerá de otros valores de css como "top", "bottom", "right", "left", "margin", etc.

Puedes consultar las opciones de posicionamiento en este manual: http://www.desarrolloweb.com/articulos/atributo-position-css.html
Responder | Responder con una citación | Citar
 
 
# Francisco 29-11-2011 10:31
Cito a Andrea:
hola.. muy buen post me ha ayudado mucho sin embargo estoy utilizando una plantilla de Yoothemes y en el archivo php solo hay unas cuantas lineas de codigo que al parecer me redireccionan a otros archivos, y no encuantro donde poner el codigo del div de a nueva posicion.. alguna idea de donde encontrarlo??


Muchas Gracias Andrea.

Con respecto a tu consulta, no conozco el modo en que Yoothemes organiza su código fuente en sus plantillas, pero la teoría es esa, sólo resta encontrar en que ficheros recae ese contenido.

Si quieres, enviame un correo a contacto@ftorre s.es con el contenido del fichero index.php y los datos de tu web, y tratamos de encontrar el sitio donde ubicar la nueva capa. .

Un saludo.
Responder | Responder con una citación | Citar
 
 
# Damià 14-03-2012 10:50
Hola, estoy haciendo una prueva para poder hacer mas adelante una pagina mediante Joomla!.
No puedo crear ninguna nueva posicion. Me gustaria poner un menu a la izquierda de los articulos pero no puedo.
Como podria hacerlo? Hay una posicion "left" en la plantilla(pero no me muestra nada), y otra posicion right(esta si muestra). Alguien podria ayudarme?
www.provajoomla.nixiweb.com
DamiaCinca@gmai l.com
Un saludo
Responder | Responder con una citación | Citar
 
 
# ely 06-07-2012 17:40
Hola he seguido los pasos para agregar nueva posición en platilla beez_20 de joomla 1.7 pero no me aparece con tl tp=1 y en el front me mada el codigo que he agregado para la nueva posición: < jdoc:include type="modules" name="slideshow /> ojala puedas ayudrame y ver cual es mi error
Responder | Responder con una citación | Citar
 
 
# Alex 17-08-2012 06:41
sigo correctamente el tema pero cuando abro el php no me sale mas que muy pocas lineas, se supone que el template es gratuito y solo despliega esto:
Responder | Responder con una citación | Citar
 
 
# Hector 12-01-2013 17:14
hola amigos,. ehmmm,. esta super el ejemplo,. pero tengo una duda,. sera que va a funcionar para joomla 2.5 ?????,...
Responder | Responder con una citación | Citar
 

Publicidad

Perfil

F·T
Ing. Informático

Univ. de Málaga

  • Ingeniería del Software
  • Proyectos Web 2.0
  • Aplicaciones Open Source
  • Consultoría SEO / SEM
  • Aplicaciones B2C / B2B
  • Redes Sociales
facebook twitter linkedin Delicious google-plus2
Skype Google Talk Gmail email rss
· Email: correo@ftorres.es
· Google+: Francisco Torres
· Facebook: FTorres
· Twitter: @ftorres.es
· Linkedin: ftorres_web
Contáctame

Últimos Artículos

Trabajos


Funcionando con joomla! gracias a 10·cero