(5 votos, media 4.00 de 5)

Claudia

Unicamente una Fan de Joomla y de Joomleros
Mexicali, Baja California, México

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;
} ?>
Si tienes conocimientos avanzados de php estoy segura de que encontrarás otras formas más eficientes de hacer esto, pero si no tienes los conocimientos de php esta es una excelente receta de cómo hacerlo.
Espero sus experiencias y comentarios.
Registered User Group
De Joomla! y Joomleros en Twitter

Staff de Joomleros

nam
carreon
Zaíkon
Turin
 

Encuesta Abierta

Tenemos una encuesta abierta para saber qué extensiones comerciales GNU/GPL quieres
Sugerencias Más Populares:
179
votos
 | None

93
votos
 | Completed

37
votos
 | None

35
votos

24
votos
 | None

Usuarios en línea

 
Ranking Web, top web por visitas, ranking sitios web Free Software Top