| 28 Julio 2009
He leido muchas veces en los foros de joomleros sobre una necesidad que, aunque con distintos matices, se resume en: la necesidad de variar el elemento mostrado segun alguna variable de Joomla. Por esto es que a continuación presento una reseña de lo que ya se ha publicado en los foros y que yo misma he probado e implementado.
Algunos ejemplos de esto en los foros:
La variable de joomla puede ser cualquiera, la sección de un artículo, el Itemid, el componente que se esta mostrando, etc.
Aunque el detalle de cómo obtener los valores de las variables no es material de este artículo, creo conveniente enunciar al menos algunas de las más comunes:
- El componente que está mostrando el contenido.
$MiVariable = JRequest::getCmd ('option'); - El Itemid.
$MiVariable = JRequest::getInt ('Itemid');
Una vez que tenemos el valor de la variable que requerimos, para hacer variable el contenido, todo se logra con sencillo switch de la siguiente forma:
<?php
switch ($MiVariable) {
case 'Valor 1':
?>
Aqui el codigo HTML de tu encabezado para este componente
<?php
break;
case 'Valor 2':
?>
Aqui el codigo HTML de tu encabezado para este componente
<?php
break;
case 'Valor 3':
?>
Aqui el codigo HTML de tu encabezado para este componente
<?php
break;
default:
?>
Aqui el codigo HTML de tu encabezado para cualquier otro componente
<?php
break;
} ?>
Tomado de un post de carreon
Este código se debe insertar en el archivo index.php de la plantilla que se esté utilizando en el sitio. Por ejemplo, si se usa la plantilla Rhuk Milkyway la ruta del archivo a modificar sería raiz/templates/rhuk_milkyway/index.php
Ejemplos Prácticos
Utilizando la plantilla JA Purity vemos que las imágenes del encabezado varian aleatoriamente indistintamente de cualquier situación del contenido del sitio, pero si queremos que siempre se muestre: imagen1.jpg para cuando el Itemid es igual a 4, imagen2.jpg para cuando el Itemid es igual a 5 e imagen3.jpg para cualquier otro valor de Itemid, lo que hariamos sería buscar en la línea 112 el código:
<div id="ja-header" class="clearfix" style="background: url('/templateurl('); ?>/images/header/getRandomImage(dirname(__FILE__).DS.'images/header'); ?>) no-repeat top direction == 'rtl') echo 'left'; else echo 'right';?>;">
Aplicando los cambios, reemplazamos la línea anterior y el código quedaría de la siguiente forma:
<?php
$MiVariable = JRequest::getInt('Itemid');
switch ($MiVariable) {
case '4':
?>
<div id="ja-header" class="clearfix" style="background: url(templateurl(); ?>/images/header/imagen1.jpg) no-repeat top direction == 'rtl') echo 'left'; else echo 'right';?>;">
<?php
break;
case '5':
?>
<div id="ja-header" class="clearfix" style="background: url(templateurl(); ?>/images/header/imagen2.jpg) no-repeat top direction == 'rtl') echo 'left'; else echo 'right';?>;">
<?php
break;
default:
?>
<div id="ja-header" class="clearfix" style="background: url('/templateurl('); ?>/images/header/imagen3.jpg) no-repeat top direction == 'rtl') echo 'left'; else echo 'right';?>;">
<?php
break;
} ?>
Unicamente una Fan de Joomla y de Joomleros
Mexicali, Baja California, México







