|
Foros
Contenido de variables dinámico
|
Autor
|
Fecha: 20 de Diciembre del 2006 a las 10:59:40
Descripción: Contenido de variables dinámico
|
Sexo: Masculino
Mensajes: 342
|
Hola, me gustaría que mediante este script:
http://www.dynamicdrive.com/dynamicindex17/featuredcontentslider.htm
Hiciese que donde pone en mi web, el bloque de Ultimo Juego, no el de Ultimos Juegos, que tu le fueses dando a 1, 2, 3, y eso, y que fuese saliendo cada juego, por el orden de añadido.
Lo he intentado y no se, si podríais ayudarme vosotros...
Saludos.
PD:El código del bloque que os digo, es este:
Código 
<?php
if (eregi("block-NSN_Topics_Title.php", $_SERVER['PHP_SELF'])) {
Header("Location: ../index.php");
die();}
global $prefix, $dbi, $db, $admin, $db, $prefix, $user_prefix, $usuarios, $sitename, $bgcolor3, $bgcolor2, $bgcolor1, $module_name, $avatar_sit;
$blkh = 1; // LINEAS
$blkw = 20; // NUMERO DE LETRAS POR LINEA: 0 = TOTALIDAD DEL TITULO
$scron = 0; // SCROLLING = 1 / NO SCROLLING = 0
$scrdr = up; // DIRECCION SCROLLING (down, up, left, ou right)
$scrhg = 200; // Haltura del Scroller en pixels
$scrwd = 200; // Hancho del Scroller en pixels
$a = 1;
$content .= "<table border="0" width="100%" cellspacing="0" cellpadding="0">
<tr>";
if ($scron == 1) {
$content .= "<marquee behavior='scroll' direction='$scrdr' height='$scrhg' width='$scrwd' scrollamount='2' scrolldelay='100' onMouseOver='this.stop()' onMouseOut='this.start()'><br>";
}
$juegos = 1;
$result = $db->sql_query("select Img, id, Nomb, Hits, Cat, Descr, Vot, Med from ".$prefix."_juegos order by id DESC limit 0,$blkh");
while(list($Img, $id, $Nomb, $Hits, $Cat, $Descr, $Vot, $Med) = $db->sql_fetchrow($result)) {
$title2 = ereg_replace("_", " ", $Nomb);
$transfertitle = ereg_replace(" ", "-", $title2);
$title = strtr($id, " ()", "_[]");
if ($blkw > 0) { if (strlen($title2) > $blkw) { $title2 = substr($title2, 0, $blkw); } }
$content .= "<center><a href="juegos-flash-jugar-juego-$id-$transfertitle.html"><img src='$Img' title="Clicka aquí para ver el juego"><br><a href="juegos-flash-jugar-juego-$id-$transfertitle.html">$Nomb</a><br>$Descr";
}
$content .= "
</td>
</tr>
</table>";
?>
Gracias y saludos.
|
|
|
|
Autor
|
Fecha: 20 de Diciembre del 2006 a las 12:10:33
Descripción: Ninguna
|
Sexo: Masculino
Edad: 21 años
Ubicación: Poza Rica, Veracruz
País:
Mensajes: 1264
|
¿Contenido de variables dinámico?... mmm yo hubiera dicho... integrar javascript de paginación en bloque
Pues no veo el problema, lo que tu pides es muy sencillo... que no lo intentes es otra cosa. Haber, no me has dicho exactamente que tiene que verse en la galería... y como... asi que trataré de adivinar... a propósito... el bloque esta mal hecho, tan solo estas usando como variables globales... variables que NO necesitas para nada... pero bueno...
Pongo lo que haré...
1.- Quito el marquee totalmente... (el script no lo requiere)... por cierto, nunca cerraste el marquee... pero bueno.
2.- Quito la tabla... no te sirve para nada, o eso creo, pues tiene cellpadding 0, cellspacing 0, etc... daria igual si la quito... a propósito... nunca abriste 'td'... otro error...
3.- Quito variables globales inecesarias... y hasta repetidas ($prefix por ejemplo).
4.- Formateo el código... se ve mal todo amontonado.
5.- Simplifico el código... (Hay dos sentencias if anidadas y campos inecesarios, solicitados a la bd)
6.- Opcionalmente podria cambiar 'list' por '$row' y emplear arrays directamente, lo cual es más rápido... pero me iré al script...
7.- Integro el script... para ello visito la página citada...
== Paso 1 ==
Haber... dice que pongas esto en la cabecera... obviamente va en el my_header.php o algun otro archivo que toque la cabecera.
Código 
<link rel="stylesheet" type="text/css" href="contentslider.css" />
<script type="text/javascript" src="contentslider.js">
/***********************************************
* Featured Content Slider- © Dynamic Drive DHTML code library (www.dynamicdrive.com)
* This notice MUST stay intact for legal use
* Visit Dynamic Drive at http://www.dynamicdrive.com/ for this script and 100s more
***********************************************/
</script>
Y dice que descargues estos archivos... obviamente irian en la raíz tal cual, a menos que se modifiquen las urls...
Código 
http://www.dynamicdrive.com/dynamicindex17/contentslider.css
http://www.dynamicdrive.com/dynamicindex17/contentslider.js
http://www.dynamicdrive.com/dynamicindex17/loading.gif
== Paso 2 ==
Insertar lo siguiente en el cuerpo de la web... obviamente eso irá en el bloque para ser preciso.
Código 
<div id="slider1" class="contentslide">
<div class="contentdiv">
Content 1
</div>
<div class="contentdiv">
Content 2
</div>
<div class="contentdiv">
Content 3
</div>
</div>
<div class="pagination" id="paginate-slider1"></div>
<script type="text/javascript">
//ContentSlider("slider_ID" , opt_miliseconds_rotate)
ContentSlider("slider1") //or ContentSlider("slider1", 3000) to auto rotate every 3 seconds
</script>
Para determinar que va dentro del bucle y que no... basta con mirar el script... asi que lo integrare...
Bueno, ya esta integrado... a ti te corresponde probarlo...
Código 
<?php
if (eregi("block-NSN_Topics_Title.php", $_SERVER['PHP_SELF'])) {
Header("Location: ../index.php");
die();
}
global $prefix, $db;
$blkh = 1; // LINEAS
$blkw = 20; // NUMERO DE LETRAS POR LINEA: 0 = TOTALIDAD DEL TITULO
$content = "<div id="slider1" class="contentslide">";
$result = $db->sql_query("select Img, id, Nomb, Descr from ".$prefix."_juegos order by id DESC limit 0, $blkh");
while(list($Img, $id, $Nomb, $Descr) = $db->sql_fetchrow($result)) {
$title2 = ereg_replace("_", " ", $Nomb);
$transfertitle = ereg_replace(" ", "-", $title2);
$title = strtr($id, " ()", "_[]");
if ($blkw > 0 AND strlen($title2) > $blkw) {
$title2 = substr($title2, 0, $blkw);
}
$content .= "<div class="contentdiv"><a href="juegos-flash-jugar-juego-$id-$transfertitle.html"><img src='$Img' title="Clicka aquí para ver el juego"><br><a href="juegos-flash-jugar-juego-$id-$transfertitle.html">$Nomb</a><br>$Descr</div>";
}
$content .= "</div>n";
$content .= "<div class="pagination" id="paginate-slider1"></div>n";
$content .= "<script type="text/javascript">n";
$content .= "//ContentSlider("slider_ID" , opt_miliseconds_rotate)n";
$content .= "ContentSlider("slider1") //or ContentSlider("slider1", 3000) to auto rotate every 3 secondsn";
$content .= "</script>n";
?>
A propósito, el bloque se pudo haber optimizado... reemplazando algunas funciones por otras más efectivas para el caso y usando arrays, entre otras cosas... pero asi lo dejaré... creo que ya lo he modificado mucho.
También note que muchas etiquetas html no las cierras... eso te dará problemas, si no te ha dado... lo cual dudo... alrato dirás... "mi pagina se ve mal en ie"... pero bueno...
Saludos y que pases una feliz navidad
|
|
|
|
Autor
|
Fecha: 22 de Diciembre del 2006 a las 16:11:56
Descripción: Ninguna
|
Sexo: Masculino
Mensajes: 342
|
Modifiqué solo la estética, esque quedaba fatal .
Una ultima cosa, mmm, como podría aplicarle este efecto:
Código 
<script type="text/javascript">
<!--
function initImage(id) {
image = document.getElementById(id);
setOpacity(image, 0);
image.style.visibility = "visible";
fadeIn(id,0);
}
function fadeIn(objId,opacity) {
if (document.getElementById) {
obj = document.getElementById(objId);
if (opacity <= 100) {
setOpacity(obj, opacity);
opacity += 10;
window.setTimeout("fadeIn('"+objId+"',"+opacity+")", 100);
}
}
}
function setOpacity(obj, opacity) {
opacity = (opacity == 100)?99.999:opacity;
// IE/Win
obj.style.filter = "alpha(opacity:"+opacity+")";
// Safari<1.2, Konqueror
obj.style.KHTMLOpacity = opacity/100;
// Older Mozilla and Firefox
obj.style.MozOpacity = opacity/100;
// Safari 1.2, newer Firefox and Mozilla, CSS3
obj.style.opacity = opacity/100;
}
// -->
</script>
<img src="loading.gif" width="134" height="100" id="loading.gif" onLoad="initImage('loading.gif');">
a cada imagen?
Saludos.
Como está en html, y hay que pasarlo a php, pues me lio
|
|
|
|
Autor
|
Fecha: 22 de Diciembre del 2006 a las 16:45:37
Descripción: Ninguna
|
Sexo: Masculino
Edad: 17 años
País:
Mensajes: 245
|
Aún recuerdo cuando luis me enseñó a pasar de HTML a PHP y viceversa... mmm... creo que sería algo así, no estoy seguro:
Código 
<?php
echo"<script type="text/javascript">"
"!--"
"unction initImage(id) {"
"mage = document.getElementById(id);"
"etOpacity(image, 0);"
"mage.style.visibility = "visible";"
"adeIn(id,0);"
""
"unction fadeIn(objId,opacity) {"
"f (document.getElementById) {"
"bj = document.getElementById(objId);"
"f (opacity <= 100) {"
"etOpacity(obj, opacity);"
"pacity += 10;"
"indow.setTimeout("fadeIn('"+objId+"',"+opacity+")", 100);"
""
""
""
"unction setOpacity(obj, opacity) {"
"pacity = (opacity == 100)?99.999:opacity;"
"/ IE/Win"
"bj.style.filter = "alpha(opacity:"+opacity+")";"
"/ Safari<1.2, Konqueror"
"bj.style.KHTMLOpacity = opacity/100;"
"/ Older Mozilla and Firefox"
"bj.style.MozOpacity = opacity/100;"
"/ Safari 1.2, newer Firefox and Mozilla, CSS3"
"bj.style.opacity = opacity/100;"
""
"// -->"
"/script>"
<"img src="loading.gif" width="134" height="100" id="loading.gif" onLoad="initImage('loading.gif');">"
"";
?>
Se que en algo habré fallado... Si ese es el caso corrijanme... Pero bueno... Pruebalo y ya me dirás...
|
|
|
|
Autor
|
Fecha: 22 de Diciembre del 2006 a las 19:51:30
Descripción: Ninguna
|
Sexo: Masculino
Edad: 21 años
Ubicación: Poza Rica, Veracruz
País:
Mensajes: 1264
|
Jajaja... el problema esta al relacionar el html, con el javascript... y bueno, un tanto de php...
Código 
echo '<script type="text/javascript">
<!--
function initImage(id) {
image = document.getElementById(id);
setOpacity(image, 0);
image.style.visibility = "visible";
fadeIn(id,0);
}
function fadeIn(objId,opacity) {
if (document.getElementById) {
obj = document.getElementById(objId);
if (opacity <= 100) {
setOpacity(obj, opacity);
opacity += 10;
window.setTimeout("fadeIn('"+objId+"',"+opacity+")", 100);
}
}
}
function setOpacity(obj, opacity) {
opacity = (opacity == 100)?99.999:opacity;
// IE/Win
obj.style.filter = "alpha(opacity:"+opacity+")";
// Safari<1.2, Konqueror
obj.style.KHTMLOpacity = opacity/100;
// Older Mozilla and Firefox
obj.style.MozOpacity = opacity/100;
// Safari 1.2, newer Firefox and Mozilla, CSS3
obj.style.opacity = opacity/100;
}
// -->
</script>
<img src="loading.gif" width="134" height="100" id="loading.gif" onLoad="initImage('loading.gif');">';
Van las explicaciones y notas...
1.- Cuando se pasa "javascript a php" es necesario hacer que se respeten los saltos de línea, en muchos de los casos, de lo contrario, el script no trabaja como debiera... Los saltos de línea van con n al final de cada linea obviamente.
Ejemplo:
Código 
echo "<script language="javascript" type="text/css">n";
echo "function tu_funcion {n";
echo "}n";
echo "</script>n";
Este en teoria trabajaria... con o sin saltos... pero scripts más complejos y extensos no...
2.- Tienes que fijatarte, como se relaciona la imagen con el javascript... para ello basta ver la imagen...
Código 
<img src="loading.gif" width="134" height="100" id="loading.gif" onLoad="initImage('loading.gif');">
Fijate... id="loading.gif"... onload="initImage('loading.gif')"... obviamente a las imagenes del bloque se hará lo mismo, y donde va el nombre de la imagen... pues iria el nombre de la imagen (que para ser preciso seria la url)... sin embargo... existe algo mejor.
Se usa loading.gif, solo como id o referencia a la imagen y nada más (ya revise el javascript)... pero no necesariamente tiene que ser el nombre de la imagen... se me ocurre usar un contador en el bucle, y hasta cambiarlo por el bucle for y no el while...
Los cambios para que funcione en el bloque... serian los siguientes...
Esto:
Código 
while(list($Img, $id, $Nomb, $Descr) = $db->sql_fetchrow($result)) {
Por esto:
Código 
for($c = 1; list($Img, $id, $Nomb, $Descr) = $db->sql_fetchrow($result); $c++) {
Y esto (Observa que parte cambio):
Código 
<img src='$Img' title="Clicka aquí para ver el juego">
Por esto:
Código 
<img id="$c" src='$Img' title="Clicka aquí para ver el juego" onLoad="initImage('$c');">
Asi de simple... seria obligatorio donde va id... la url de la imagen, si existiera un sistema de precarga en el script... pero no lo hay.
Saludos 
P.D. Veo que en tu web has hecho ese efecto... pero con otro script... bueno igual les servirá mi respuesta a algunos...
|
|
|
|
Autor
|
Fecha: 23 de Diciembre del 2006 a las 07:32:39
Descripción: Ninguna
|
Sexo: Masculino
Mensajes: 342
|
Ok, casi perfecto luis, hize lo que tu dijiste, menos con el script, que lo solucioné poniendo un ?> al principio del script para que pasase a html, y un
Ahora me sale el efecto, pero solo en la 1 imagen, la que sale cuando la web carga, sin embargo, cuando voy pasando, en las demás, este efecto no ocurre, ¿como podría hacer para que ocurriese?
Gracias.
|
|
|
|