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
Sin avatar
Sexo: Masculino
Mensajes: 344
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 &#40;eregi&#40;"block-NSN_Topics_Title.php", $_SERVER&#91;'PHP_SELF'&#93;&#41;&#41; &#123;
    Header&#40;"Location&#58; ../index.php"&#41;;
    die&#40;&#41;;&#125;

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&#58; 0 = TOTALIDAD DEL TITULO
$scron = 0; // SCROLLING = 1 / NO SCROLLING = 0
$scrdr = up; // DIRECCION SCROLLING &#40;down, up, left, ou right&#41;
$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 &#40;$scron == 1&#41; &#123;
    $content .= "<marquee behavior='scroll' direction='$scrdr' height='$scrhg' width='$scrwd' scrollamount='2' scrolldelay='100' onMouseOver='this.stop&#40;&#41;' onMouseOut='this.start&#40;&#41;'><br>";
&#125;
$juegos = 1;
$result = $db->sql_query&#40;"select Img, id, Nomb, Hits, Cat, Descr, Vot, Med from ".$prefix."_juegos order by id DESC limit 0,$blkh"&#41;;
while&#40;list&#40;$Img, $id, $Nomb, $Hits, $Cat, $Descr, $Vot, $Med&#41; = $db->sql_fetchrow&#40;$result&#41;&#41; &#123;
   $title2 = ereg_replace&#40;"_", " ", $Nomb&#41;;
    $transfertitle = ereg_replace&#40;" ", "-", $title2&#41;;
    $title = strtr&#40;$id, " &#40;&#41;", "_&#91;&#93;"&#41;;
    if &#40;$blkw > 0&#41; &#123; if &#40;strlen&#40;$title2&#41; > $blkw&#41; &#123; $title2 = substr&#40;$title2, 0, $blkw&#41;; &#125; &#125;
        $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";
&#125;
$content .= "
</td>
  </tr>
</table>";
?>

Gracias y saludos.
Individual Perfil Privado
Autor Fecha: 20 de Diciembre del 2006 a las 12:10:33   Descripción: Ninguna
Sin avatar
Sexo: Masculino
Edad: 21 años
Ubicación: Poza Rica, Veracruz
País:
Mensajes: 1278
¿Contenido de variables dinámico?... mmm Aburrido 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 &#40;www.dynamicdrive.com&#41;
* This notice MUST stay intact for legal use
* Visit Dynamic Drive at http&#58;//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&#58;//www.dynamicdrive.com/dynamicindex17/contentslider.css
http&#58;//www.dynamicdrive.com/dynamicindex17/contentslider.js
http&#58;//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&#40;"slider_ID" , opt_miliseconds_rotate&#41;
ContentSlider&#40;"slider1"&#41; //or ContentSlider&#40;"slider1", 3000&#41; 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 &#40;eregi&#40;"block-NSN_Topics_Title.php", $_SERVER&#91;'PHP_SELF'&#93;&#41;&#41; &#123;
    Header&#40;"Location&#58; ../index.php"&#41;;
    die&#40;&#41;;
&#125;

global $prefix, $db;

$blkh = 1; // LINEAS
$blkw = 20; // NUMERO DE LETRAS POR LINEA&#58; 0 = TOTALIDAD DEL TITULO

$content = "<div id="slider1" class="contentslide">";

$result = $db->sql_query&#40;"select Img, id, Nomb, Descr from ".$prefix."_juegos order by id DESC limit 0, $blkh"&#41;;

while&#40;list&#40;$Img, $id, $Nomb, $Descr&#41; = $db->sql_fetchrow&#40;$result&#41;&#41; &#123;

    $title2 = ereg_replace&#40;"_", " ", $Nomb&#41;;
    $transfertitle = ereg_replace&#40;" ", "-", $title2&#41;;
    $title = strtr&#40;$id, " &#40;&#41;", "_&#91;&#93;"&#41;;

    if &#40;$blkw > 0 AND strlen&#40;$title2&#41; > $blkw&#41; &#123;
        $title2 = substr&#40;$title2, 0, $blkw&#41;;
    &#125;

    $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>";

&#125;

$content .= "</div>n";
$content .= "<div class="pagination" id="paginate-slider1"></div>n";
$content .= "<script type="text/javascript">n";
$content .= "//ContentSlider&#40;"slider_ID" , opt_miliseconds_rotate&#41;n";
$content .= "ContentSlider&#40;"slider1"&#41; //or ContentSlider&#40;"slider1", 3000&#41; 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 Muy bien
Individual Perfil Privado Website
Autor Fecha: 21 de Diciembre del 2006 a las 16:15:52   Descripción: Ninguna
Sin avatar
Sexo: Masculino
Mensajes: 344
Gracias luis, lo modifiqué un poco, y me va perfecto.

Pero tengo una duda, ¿cuando google vea esto, solo verá el 1 contenido que ya esté por defecto, o verá, por ejemplo, si tengo puesto 5 contenidos, los 5 contenidos aunque se vea primero el de defecto?

Saludos y feliz navidad, no te atragantes con los polvorones Ja ja
Individual Perfil Privado
Autor Fecha: 22 de Diciembre del 2006 a las 10:57:18   Descripción: Ninguna
Sin avatar
Sexo: Masculino
Edad: 21 años
Ubicación: Poza Rica, Veracruz
País:
Mensajes: 1278
Dreagnout escribió:
Gracias luis, lo modifiqué un poco, y me va perfecto.


¿Que le modificaste?... yo nunca lo probe, no tengo ni el módulo ese... pero debia de ir tal cual.

Con respecto a la pregunta... obviamente google verá los 5 contenidos... lo que no ve google es aquello que esta en javascript al 100%... todo lo demás si lo ve... y si te fijas, los 5 contenidos no estan en javascript... sino en html, y quizas sean ocultados con css... es lo más probable. Fumador

Saludos Muy bien
Individual Perfil Privado Website
Autor Fecha: 22 de Diciembre del 2006 a las 16:11:56   Descripción: Ninguna
Sin avatar
Sexo: Masculino
Mensajes: 344
Modifiqué solo la estética, esque quedaba fatal Muy Feliz.

Una ultima cosa, mmm, como podría aplicarle este efecto:

Código
<script type="text/javascript">
<!--
function initImage&#40;id&#41; &#123;
image = document.getElementById&#40;id&#41;;
setOpacity&#40;image, 0&#41;;
image.style.visibility = "visible";
fadeIn&#40;id,0&#41;;
&#125;
function fadeIn&#40;objId,opacity&#41; &#123;
if &#40;document.getElementById&#41; &#123;
obj = document.getElementById&#40;objId&#41;;
if &#40;opacity <= 100&#41; &#123;
setOpacity&#40;obj, opacity&#41;;
opacity += 10;
window.setTimeout&#40;"fadeIn&#40;'"+objId+"',"+opacity+"&#41;", 100&#41;;
&#125;
&#125;
&#125;
function setOpacity&#40;obj, opacity&#41; &#123;
opacity = &#40;opacity == 100&#41;?99.999&#58;opacity;
// IE/Win
obj.style.filter = "alpha&#40;opacity&#58;"+opacity+"&#41;";
// 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;
&#125;

// -->
</script>
<img src="loading.gif" width="134" height="100"  id="loading.gif" onLoad="initImage&#40;'loading.gif'&#41;;">

a cada imagen?

Saludos.

Como está en html, y hay que pasarlo a php, pues me lio Tonto
Individual Perfil Privado
Autor Fecha: 22 de Diciembre del 2006 a las 16:45:37   Descripción: Ninguna
Sin avatar
Sexo: Masculino
Edad: 16 años
País:
Mensajes: 249
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&#40;id&#41; &#123;"
"mage = document.getElementById&#40;id&#41;;"
"etOpacity&#40;image, 0&#41;;"
"mage.style.visibility = "visible";"
"adeIn&#40;id,0&#41;;"
""
"unction fadeIn&#40;objId,opacity&#41; &#123;"
"f &#40;document.getElementById&#41; &#123;"
"bj = document.getElementById&#40;objId&#41;;"
"f &#40;opacity <= 100&#41; &#123;"
"etOpacity&#40;obj, opacity&#41;;"
"pacity += 10;"
"indow.setTimeout&#40;"fadeIn&#40;'"+objId+"',"+opacity+"&#41;", 100&#41;;"
""
""
""
"unction setOpacity&#40;obj, opacity&#41; &#123;"
"pacity = &#40;opacity == 100&#41;?99.999&#58;opacity;"
"/ IE/Win"
"bj.style.filter = "alpha&#40;opacity&#58;"+opacity+"&#41;";"
"/ 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&#40;'loading.gif'&#41;;">"
"";

?>

Se que en algo habré fallado... Si ese es el caso corrijanme... Embarazoso Pero bueno... Pruebalo y ya me dirás... Feliz
Individual Perfil Privado Website
Autor Fecha: 22 de Diciembre del 2006 a las 17:56:07   Descripción: Ninguna
Sin avatar
Sexo: Masculino
Mensajes: 344
No, así tampoco me sale, hize una cosa parecida, lo puse, y es como si no pusiese nada, no se aplica ningún cambio.

Saludos.
Individual Perfil Privado
Autor Fecha: 22 de Diciembre del 2006 a las 18:43:15   Descripción: Ninguna
Sin avatar
Sexo: Masculino
Edad: 36 años
País:
Mensajes: 132
por lo que yo se, un javascript no necesitas pasarlo a php, tendria que funcionar igual.
el fallo puede ser donde lo coloques, no se si en el head o el css.
ya te lo aclarara luis, yo se poco de php, pero creo que el problema seria ese.
Individual Perfil Privado Website
Autor Fecha: 22 de Diciembre del 2006 a las 19:51:30   Descripción: Ninguna
Sin avatar
Sexo: Masculino
Edad: 21 años
Ubicación: Poza Rica, Veracruz
País:
Mensajes: 1278
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&#40;id&#41; &#123;
image = document.getElementById&#40;id&#41;;
setOpacity&#40;image, 0&#41;;
image.style.visibility = "visible";
fadeIn&#40;id,0&#41;;
&#125;
function fadeIn&#40;objId,opacity&#41; &#123;
if &#40;document.getElementById&#41; &#123;
obj = document.getElementById&#40;objId&#41;;
if &#40;opacity <= 100&#41; &#123;
setOpacity&#40;obj, opacity&#41;;
opacity += 10;
window.setTimeout&#40;"fadeIn&#40;'"+objId+"',"+opacity+"&#41;", 100&#41;;
&#125;
&#125;
&#125;
function setOpacity&#40;obj, opacity&#41; &#123;
opacity = &#40;opacity == 100&#41;?99.999&#58;opacity;
// IE/Win
obj.style.filter = "alpha&#40;opacity&#58;"+opacity+"&#41;";
// 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;
&#125;

// -->
</script>
<img src="loading.gif" width="134" height="100"  id="loading.gif" onLoad="initImage&#40;'loading.gif'&#41;;">';

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 &#123;n";
echo "&#125;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&#40;'loading.gif'&#41;;">

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&#40;list&#40;$Img, $id, $Nomb, $Descr&#41; = $db->sql_fetchrow&#40;$result&#41;&#41; &#123;

Por esto:

Código
for&#40;$c = 1; list&#40;$Img, $id, $Nomb, $Descr&#41; = $db->sql_fetchrow&#40;$result&#41;; $c++&#41; &#123;

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&#40;'$c'&#41;;">

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 Muy bien

P.D. Veo que en tu web has hecho ese efecto... pero con otro script... bueno igual les servirá mi respuesta a algunos...
Individual Perfil Privado Website
Autor Fecha: 23 de Diciembre del 2006 a las 07:32:39   Descripción: Ninguna
Sin avatar
Sexo: Masculino
Mensajes: 344
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.
Individual Perfil Privado