Ver Mensaje Individual
  #14 (permalink)  
Antiguo 04/02/2011, 15:12
mangels
 
Fecha de Ingreso: marzo-2005
Mensajes: 41
Antigüedad: 19 años, 8 meses
Puntos: 0
Respuesta: Ayuda con script PHP de rotación de banners

Gracias areslepra, eres realmente muy amable en suministrarme nuevas opciones de verificación.

Ahora bien, no tengo idea de cómo hacer lo que me sugieres, yo aquí te voy a transcribir el código completo de mi página ads.php que es la que controla la inserción y rotación de banners, con eso ya tienes la respuesta a tu segunda pregunta respecto al contenido (si es HTML o link a imagenes).

Este es el script, el nombre de los banners y la URL del sitio al que linkean lo estoy sustituyendo por AAAA, BBBB, etc. por razones obvias:


<?php
//***this script is being used by display.php and template.php***

//banners in the center part of the site 468x60px
//following this format: ['banner_image.xxx']['page_url_to_point']
$center_banners['/images/ads/center/468x60.jpg']='/advertise.php';
$center_banners['/images/ads/center/AAAA.gif']='http://AAAA.com/';
$center_banners['/images/ads/center/BBBB.jpg']='http://BBBB.com/';
$center_banners['/images/ads/center/CCCC.jpg']='http://CCCC.com/';
$center_banners['/images/ads/center/DDDD.gif']='http://DDDD.com/';

//banners in the left part of the site 125x125px
//following this format: ['banner_image.xxx']['page_url_to_point']
$left_banners['/images/ads/left/125x125.jpg']='/advertise.php';
$left_banners['/images/ads/left/EEEE.gif']='http://www.EEEE.com/';
$left_banners['/images/ads/left/FFFF.gif']='http://www.FFFF.com/';
$left_banners['/images/ads/left/GGGG.gif']='http://www.GGGG.com;
$left_banners['/images/ads/left/HHHH.gif']='http://www.HHHH.com/;
$left_banners['/images/ads/left/IIII.gif']='http://IIII.com/;
$left_banners['/images/ads/left/JJJJ.gif']='http://JJJJ.com/';
$left_banners['/images/ads/left/KKKK.jpg']='http://www.KKKK.com/';

//banners in the right part of the site 120x60px
//following this format: ['banner_image.xxx']['page_url_to_point']
$right_banners['/images/ads/right/120x60.jpg']='/advertise.php';
$right_banners['/images/ads/right/LLLL.jpg']='http://www.LLLL.com/';
$right_banners['/images/ads/right/MMMM.gif']='http://www.MMMM.com/';

/************************************************** ***********/
/* DO NOT TOUCH ANYTHING UNDER THIS LINE /
/************************************************** ***********/

//randomly shuffle the array keeping the relation between keys and values
function shuffle_me($shuffle_me){
$randomized_keys = array_rand($shuffle_me, count($shuffle_me));
foreach($randomized_keys as $current_key) {
$shuffled_me[$current_key] = $shuffle_me[$current_key];
}
return $shuffled_me;
}
$center_banners=shuffle_me($center_banners);
$center_banners=array_slice($center_banners, 0, 20);

$left_banners=shuffle_me($left_banners);
$right_banners=shuffle_me($right_banners);
?>

------------------------------------------------------------------------

Por otra parte, en display.php y template.php (que como ves se nombra en el encabezamiento del script anterior: //***this script is being used by display.php and template.php***, la parte que controla la inserción y rotación de banners es la siguiente:

En display.php:

//here it comes the banners thing. it takes the $ads array and show all the banners
//when no more banners are available, it shows the default banner ($def)
if ($CONFIG['adbreaks'][$page_rank]) {
$ads=each($center_banners);
if ($is_top) {
$TMPL['content'] .= do_template("tablecloser_top");
$TMPL['content'] .= '<p class="adbreak">';
if(!$ads){
reset($center_banners);
$ads=each($center_banners);
$TMPL['content'] .= '<a href="'.$ads['value'].'" target="_blank"><img src="'.$ads['key'].'" /></a>';
}else{
$TMPL['content'] .= '<a href="'.$ads['value'].'" target="_blank"><img src="'.$ads['key'].'" /></a>';
}
$TMPL['content'] .= '</p>';
$TMPL['content'] .= do_template("tableheader_top");
} else {
$TMPL['content'] .= do_template("tablecloser");
$TMPL['content'] .= '<p class="adbreak">';
if(!$ads){
reset($center_banners);
$ads=each($center_banners);
$TMPL['content'] .= '<a href="'.$ads['value'].'" target="_blank"><img src="'.$ads['key'].'" /></a>';
}else{
$TMPL['content'] .= '<a href="'.$ads['value'].'" target="_blank"><img src="'.$ads['key'].'" /></a>';
}
$TMPL['content'] .= '</p>';
$do_tableheader = 1;
}
}

$is_top = 0;
$TMPL['rank']++;
$page_rank++;
}

if ($topdone) {
$TMPL['content'] .= do_template("tablecloser");
}
elseif (!$do_tableheader) {
$TMPL['content'] .= do_template("tablecloser_top");
}
?>



En template.php:

// Generate the right and left banners list
$TMPL['leftbanners']='';
foreach($left_banners as $key => $value){
$TMPL['leftbanners'].='<p align="center"><a href="'.$value.'"><img src="'.$key.'" width="150" height="150" border="0"></a></p>';
}

$TMPL['rightbanners']='';
foreach($right_banners as $key => $value){
$TMPL['rightbanners'].='<p align="center"><a href="'.$value.'"><img src="'.$key.'" width="150" height="150" border="0"></a></p>';
}

-------------------------------------


OK, entonces ¿cómo hago lo que me sugieres?

Mi gran duda es ¿porqué todo este código está funcionando a la perfección uno de los sitios y en el otro que es un clon del primero no funciona?

Saludos,
María