Foros del Web » Programando para Internet » Javascript »

Como abrir un mismo popup con diferentes imagenes y textos?

Estas en el tema de Como abrir un mismo popup con diferentes imagenes y textos? en el foro de Javascript en Foros del Web. Necesito que al hacer click sobre un link se abra un popup que me muestre un texto y una foto. La idea es usar una ...

  #1 (permalink)  
Antiguo 21/05/2006, 17:13
Avatar de K3NNY
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: ARGENTINA!
Mensajes: 1.493
Antigüedad: 20 años, 2 meses
Puntos: 20
Pregunta [SOLUCIONADO] Como abrir un mismo popup con diferentes imagenes y textos?

Necesito que al hacer click sobre un link se abra un popup que me muestre un texto y una foto. La idea es usar una sola pagina para el popup y pasarle el texto y la foto a traves del link. No se bien como seria, pero la idea es mas o menos esta...

<a onClick="foto('gato.jpg'); texto('esto es un gato')">Gato</a>

...se entiende? Alguna idea?
__________________
delFuego.com.ar
mi tumblelog sobre diseño

La dedicación en mi respuesta es directamente proporcional a la dedicación en tu pregunta.

Última edición por K3NNY; 28/05/2006 a las 14:34 Razón: tema solucionado
  #2 (permalink)  
Antiguo 21/05/2006, 17:28
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Hola K3NNY:

Simplemente usa siempre el mismo segundo parámetro en todos los popups.

Pero creo que si las cosas van a la misma página, lo mejor es escribir en ella...

function textoFoto(texto, foto) {
var html = "<html><body><img src='" + foto + " /><span>" + texto + "</span></body></html>";
var ventana = window.open("", "popup", "");
ventana.document.write(html);
ventana.focus();
}

Y sobre usar un enlace, me parece que mientras no sea un verdadero "enlace" creo que es mejor usar cualquier tag... y si quieres la manita ponerla con estilos... y se abriría:

<span onclick="textoFoto('esto es un gato', 'gato.jpg')">Gato</span>

La función puede mejorarse muchísimo, con título en la página, estilos de texto centrado... bueno, aplicar estilos... incluso scripts... en mi página de caricaturas no pongo texto, pero si un títilo y hago que vuelen pajarillos...

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #3 (permalink)  
Antiguo 21/05/2006, 23:23
Avatar de K3NNY
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: ARGENTINA!
Mensajes: 1.493
Antigüedad: 20 años, 2 meses
Puntos: 20
Buenisimo, ya mismo lo pruebo. Es con ejemplos sencillos como estos que uno va aprendiendo Javascript sin darse cuenta. Para no haber leido nunca un manual de Javascipt puedo decir orgulloso que entendi a la perfeccion como funciona el script... teoricamente. Veamos como me va en la practica :D
__________________
delFuego.com.ar
mi tumblelog sobre diseño

La dedicación en mi respuesta es directamente proporcional a la dedicación en tu pregunta.
  #4 (permalink)  
Antiguo 21/05/2006, 23:56
Avatar de K3NNY
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: ARGENTINA!
Mensajes: 1.493
Antigüedad: 20 años, 2 meses
Puntos: 20
Ok, primer problema. Hay alguna forma de que el codigo HTML del popup sea externo? Me refiero a no generarlo via Javascript, porque el popup tiene que incluir un detector de idioma en php y en base a eso cargar el texto a mostrar. Y se me complica tremendamente con las comillas. Alguna idea?
__________________
delFuego.com.ar
mi tumblelog sobre diseño

La dedicación en mi respuesta es directamente proporcional a la dedicación en tu pregunta.
  #5 (permalink)  
Antiguo 22/05/2006, 00:32
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Hola:

Bueno, entonces habrá que cambiar el chip... (al menos vas aprendiendo otro poco javascript

Entonces en vez de escribir código, tendrás que abrir la página con un formulario (o simularlo con url)

<form action="destino.php" target="popup" method="get" onsubmit="window.open('', 'popup', '')" >
<input type="hidden" name="texto" value="esto es un gato" />
<input type="hidden" name="foto" value="gato.jpg" />
<input type="submit" value="Gato" style="border: 0; background-color: transparent; cursor: pointer" />
</form>

Luego recibes los datos por get (podría ser post):
<?php
//tus declaraciones php
?>
...
<img src="<?php echo $_GET['foto']; ?>" />
...
<span><?php echo $_GET['texto']; ?></span>

... y lo mismo con un enlace:
<a href="destino.php?foto=gato.jpg&amp;texto=esto%20e s%20un%20gato" target="popup" onclick="window.open('', 'popup', '')">Gato </a>

Más información en este artículo de maestrosdelweb: Formularios y enlaces dirigidos a ventanas

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #6 (permalink)  
Antiguo 22/05/2006, 00:42
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
...se me olvidaba...

Simular el método get en un enlace puede ser algo complejo ya que el texto hay que escaparlo... en el ejemplo puse como espacio en blanco el código %20 (creo que es ese...) pero hay otros caracteres que no cuelan por url y para eso existe la función escape... tal vez sea mejor crear ese tipo de líneas con javascript:

var enlace = "destino.php?foto=gato.jpg&amp;texto=" + escape("esto es un gato");
document.writeln("Gato".link(enlace))...
o
document.writeln("<a href='" + enlace + "' >Gato</a>")

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #7 (permalink)  
Antiguo 22/05/2006, 01:06
Avatar de K3NNY
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: ARGENTINA!
Mensajes: 1.493
Antigüedad: 20 años, 2 meses
Puntos: 20
Bien, te tengo otro problema. El texto que tengo que pasar en el link no es un texto en realidad, sino que es una variable php que contiene al texto. Entonces, como agrego esa variable php al enlace creado en Javascript?
__________________
delFuego.com.ar
mi tumblelog sobre diseño

La dedicación en mi respuesta es directamente proporcional a la dedicación en tu pregunta.
  #8 (permalink)  
Antiguo 22/05/2006, 02:37
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Hola:

Con el método de crear el enlace con javascript sería más o menos:

var enlace = "destino.php?foto=gato.jpg&amp;texto=" + escape("<?php echo $varPHP; ?>");

Creo que PHP tiene una función similar, pero no suelo usarla y podría decírtelo mal, pero se trata de url_encode...

me parece que sería:
var enlace = "<?php echo url_encode('destino.php?foto=gato.jpg&amp;texto=$t exto'); ?>";

Pero sobre esa función sería mejor informarte en php...

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #9 (permalink)  
Antiguo 22/05/2006, 16:55
Avatar de K3NNY
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: ARGENTINA!
Mensajes: 1.493
Antigüedad: 20 años, 2 meses
Puntos: 20
Ok, ya deje de aprender para empezar a confundirme jeje. Una pregunta, ya que estamos abriendo una pagina ya creada, no seria mas facil pasar una simple variable numerica via el link y que despues la pagina tenga una especie de if...then...else que se fije el valor de la variable y en base a eso imprima una porcion de codigo y no otra? O ya estamos haciendo eso? En ese caso, como seria el codigo del link para que el destino sea la variable javascript que me estabas comentando?

PD: Gracias por la paciencia.
__________________
delFuego.com.ar
mi tumblelog sobre diseño

La dedicación en mi respuesta es directamente proporcional a la dedicación en tu pregunta.
  #10 (permalink)  
Antiguo 22/05/2006, 17:20
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Cita:
Iniciado por K3NNY
...

PD: Gracias por la paciencia.
¡Si supieras la paciencia que a veces tenemos por aquí...!

Verás, con javascript se puede hacer sin ningún problema (en las FAQs hay una entrada sobre paso de parámetros y su recogida), pero a mi entender algo más complejo... y si tu página es php creo que sería mejor.

Lo que sí, es que ya me he perdido... si quieres que el destino sea una variable, es una cosa, y pasar una variable es otra... te comento por encima como sería el segundo...

para un link: destino.php?var1=1
Puedes lograr el equivalente javascript así:
entrada = location.search.substr(1).split("&");
for (var i = 0, total = entrada.length; i < total; i ++)
window[entrada[i].split("=")[0]] = entrada[i].split("=")[1];

(a no ser que se me haya colado algún error)

Luego puedes hacer un simple switch...

Pero antes de extenderme y liarte más (no es mi intención) espero que te expliques mejor porque me temo que no me he enterado...

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #11 (permalink)  
Antiguo 22/05/2006, 17:30
Avatar de K3NNY
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: ARGENTINA!
Mensajes: 1.493
Antigüedad: 20 años, 2 meses
Puntos: 20
Ok, voy a intentar no olvidarme ningun detalle y explicar el problema completo, cosa que deberia haber hecho desde un principio.

Lo basico:

Gracias a un pequeño script php muestro, en una pagina X, una frase al azar de entre unas 20. Esa frase es una pequeña descripcion de algo, y necesito que al hacer click en algun lado aparezca un popup con mas detalles, osea, una descripcion mas larga y una foto.

El problema:

Como es una pagina bilingue, tengo otro pequeño script php que detecta automaticamente el idioma preferido y lo guarda en una sesion. En base al idioma elegido la pagina carga los textos de un archivo externo.

Para complicarla mas todavia:

Me gustaria que el popup fuese un solo archivo que cargue los textos dinamicamente segun la frase clickeada, porque si bien ahora son solo 20 frases y podria hacer 20 popups, a futuro estaria agregando muchas mas. Y conociendo el poder de php y javascript me arriesgue a que algun alma caritativa me de una mano para automatizar el proceso.

PD: Esa ultima frase fue para ver si puedo comprarme un par mas de respuestas de tu parte antes de que te canses de mi :D
__________________
delFuego.com.ar
mi tumblelog sobre diseño

La dedicación en mi respuesta es directamente proporcional a la dedicación en tu pregunta.
  #12 (permalink)  
Antiguo 23/05/2006, 00:32
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Hola:

Antes de seguir, y de ver cuanto hemos progresado, te paso un link con algo que estoy haciendo y tal vez te interese alguna de las implementaciones: http://www.caricatos.net/citas/
Al pinchar en los botones salen recuadros mostrando las citas formateadas...
En este caso se abren siempre entanas nuevas, pero solo tendría que cambiar el _blank del target por otra palabra...

La lista de citas se puede ver en un enlace de la página: http://www.caricatos.net/citas/consulta.php
Está con una base de datos muy sencillita...

Ahora, si por ejemplo se pincha en el botón de la sexta cita, lo que quieres es que por ejemplo se pueda pinchar en cerveza y salte un popup con una birra y su descripción (o alguna otra cosa...)

Hasta ahora, veo más fácil una implementación php y alguna tabla

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #13 (permalink)  
Antiguo 23/05/2006, 15:52
Avatar de K3NNY
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: ARGENTINA!
Mensajes: 1.493
Antigüedad: 20 años, 2 meses
Puntos: 20
Cita:
Iniciado por caricatos
Ahora, si por ejemplo se pincha en el botón de la sexta cita, lo que quieres es que por ejemplo se pueda pinchar en cerveza y salte un popup con una birra y su descripción (o alguna otra cosa...)
Exacto, solo eso, un texto un poco mas grande que la cita y una foto para acompañar, nada mas. Al menos eso seria lo visible, porque la pagina tiene que tener un script php para detectar el idioma y cargar los textos (leyendolos de un archivo externo) en base a eso. Pero seria solo eso, un popup con un parrafo y una foto.
__________________
delFuego.com.ar
mi tumblelog sobre diseño

La dedicación en mi respuesta es directamente proporcional a la dedicación en tu pregunta.
  #14 (permalink)  
Antiguo 23/05/2006, 17:17
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Bien... creo que me he enterado... (me lo parecía...) mañana te preparo un ejemplo... aunque ya sabes que mi fuerte es javascript, creo que es un caso que se implementa mejor en php (también es posible con javascript...) y trataré de prepararte otro ejemplo en javascript... pero te comento mi idea:
La cuestión es hacer una sustitución de esas palabras por un enlace con esa palabra como parámetro...
<a href="desc.php?descriptor=gato" target="popup" >gato</a>

en javascript se conseguiría con:
cadena.split("gato").join("a href='desc.php?descriptor=gato' target='popup' >gato</a>")

Y con php se consigue combinando explode e implode...

Si no se me adelanta nadie, mañana te preparo un ejemplo... tal vez puedas intentarlo ¿?

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #15 (permalink)  
Antiguo 24/05/2006, 00:24
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Bueno, ahí va la primera parte...

Vamos a cambiar palabras clave de la frase por links a una página de descripción (que no he hecho, pero sin duda es fácil)
Ejemplo

El script para hacerlo es este:

Código:
<script>
var palabras = ["cerebro", "cerveza"];
function descri(des)	{
	this.des = des;
}
var descripciones = new Array();
descripciones["cerebro"] = new descri("parte pensante de la cabeza");
descripciones["cerveza"] = new descri("Rica...");

function marcar()	{
	var frase = document.getElementById("laCita");
	var f = frase.innerHTML;
	for (palabra in palabras)	{//alert(palabras[palabra]);
		fARRAY = f.split(palabras[palabra]);
		f = fARRAY.join("<a href='descripcion.php?palabra=" + palabras[palabra] 
			+ "' target='popup' title='" + descripciones[palabras[palabra]].des
			+ "' >" + palabras[palabra] 
			+ "</a>")
	}

	frase.innerHTML = f		
		
}

</script>
...
<body onload="marcar()">
Tan solo tienes que crear el array de palabras y el de descripciones (las descripciones son el title de los enlaces)

Échale un vistazo y si tienes dudas, avisa...

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #16 (permalink)  
Antiguo 24/05/2006, 02:38
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Bueno, ya puse la descripción, aunque lo probé con explorer y no funciona bien (inexplicablemente)...

Código:
<html>
<?php
if (isset($_GET["palabra"]))
	$palabra = $_GET["palabra"];
else
	$palabra = "desconocida";
	
?>
<head>
<script>
var palabra = "<?php echo $palabra; ?>";

var palabras = ["cerebro", "cerveza", "desconocida"];
function descri(des)	{
	this.des = des;
}
var descripciones = new Array();
descripciones["cerebro"] = new descri("parte pensante de la cabeza, no se suele usar demasiado...");
descripciones["cerveza"] = new descri("Rica, debe tener un dedo de espuma y estar muy fría...");
descripciones["desconocida"] = new descri("descripción desconocida...");

function describe(que)	{
	existe = false;
	for (item in palabras) existe = (existe || (palabras[item] == que));
	salida = (existe) ? descripciones[que].des : descripciones["desconocida"].des;
//	alert(salida);
	return salida;
}

</script>
</head>
<body>
	<h1><script>document.write(palabra);</script></h1>
	<script >document.write("<img src='../webmaster/imagenref.php?ref=" + palabra + "' />");</script>
	<p style="background-color: #eeeeee">
	<script >document.write(describe(palabra));</script>
	</p>
</body>
</html>
Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #17 (permalink)  
Antiguo 24/05/2006, 08:36
Avatar de K3NNY
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: ARGENTINA!
Mensajes: 1.493
Antigüedad: 20 años, 2 meses
Puntos: 20
NOOOOO ESTA TODO MAAAAL! Como que un dedo de espuma? La cerveza se toma sin espuma...

...volviendo a lo importante, me vas a matar, pero no hace falta que busque palabras y las convierta en links. Al final de cada frase tiene que haber un link (con el mismo texto para todas las frases, "+INFO") que abra el popup con la descripcion y la imagen. Se puede?
Y una pregunta sobre las imagenes, no entendi de donde las saca. Porque imagenref.php?ref=" + palabra + "? Que tiene que tener ese archivo?

PD: Esta bueno el script como lo posteaste recien para tener palabras "sponsoreadas", como tienen algunas paginas.
__________________
delFuego.com.ar
mi tumblelog sobre diseño

La dedicación en mi respuesta es directamente proporcional a la dedicación en tu pregunta.
  #18 (permalink)  
Antiguo 24/05/2006, 09:17
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Cita:
Iniciado por K3NNY
NOOOOO ESTA TODO MAAAAL! Como que un dedo de espuma? La cerveza se toma sin espuma...

...
No me lo puedo creer... un paisano que me diga eso...

A pesar de vivir en Torremolinos, me crié en Quilmes (seguro que te suena...) y no creo que nadie pueda hacerme cambiar de opinión...
Lo de la falta de espuma, es algo bastante "inglés" ya que al tener restricciones en el horario para pedir las pintas en los pubs... terminaban pidiendo 2 o 3 (o más) y claro... podían pasar horas en tomarlas y de todos modos la espuma se le iba... y la cosa se hizo costumbre... pero ... bueno, supongo que se tratará de una broma...


Cita:
Iniciado por K3NNY

...volviendo a lo importante, me vas a matar, pero no hace falta que busque palabras y las convierta en links. Al final de cada frase tiene que haber un link (con el mismo texto para todas las frases, "+INFO") que abra el popup con la descripcion y la imagen. Se puede?
Me he vuelto a perder... Con un solo mensaje, solo puedes tener una palabra para referenciar... ¿Y si en la frase hay más palabras...?


Cita:
Iniciado por K3NNY
...

Y una pregunta sobre las imagenes, no entendi de donde las saca. Porque imagenref.php?ref=" + palabra + "? Que tiene que tener ese archivo?
La verdad es que se trata de una base de datos con imágenes (siempre se lo he agradecido a Cluster (¡Hola !) y en los datos dejo un campo como referencia... entonces con ?ref=cerveza sale la cerveza... y si no hay referencia asociada aparece una bailarina muy guapa (seguro que la conoces...)

Si te interesa el código te lo paso sin problemas, pero se trata de imágenes en una base de datos... (es un tema muy visitado de php) para otros casos se puede hacer cosas alternativas
A medida que progrese el tema (si no nos cansamos o terminas resolviéndo tu cuestión...) te explicaré esos "truquillos"...

Cita:
Iniciado por K3NNY
...
PD: Esta bueno el script como lo posteaste recien para tener palabras "sponsoreadas", como tienen algunas paginas.
En javascript es algo trabajado, pero poco efectivo, porque se puede ver el código y conocer todas las palabras "sponsoreadas" (copié y pegué... ya que son de esas palabras "irrepetibles")... En lenguajes del servidor se consigue más eficiencia (en mi humilde opinión...)

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #19 (permalink)  
Antiguo 24/05/2006, 11:44
Avatar de K3NNY
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: ARGENTINA!
Mensajes: 1.493
Antigüedad: 20 años, 2 meses
Puntos: 20
No podes creer que te diga eso porque no soy un paisano de tus tierras :D soy de Argentina, y lamentablemente (geograficamente hablando) a lo unico que me suena "Quilmes" es a una marca de cerveza muy popular por estos pagos. Supongo que el nombre vendra de ahi.

En cuanto a las frases: Los links para abrir los popups los pongo manualmente, por eso es que todos tienen la misma palabra ("+INFO" en mi caso). Voy a intentar hacer un bosquejo de lo que quiero lograr. No esta escrito en ningun lenguaje en especial, lo voy a inventar solo para aclarar el concepto...

FRASES:
1: Los perros tiene 4 patas... +INFO?frase=1 <--- eso es un link con una variable
2: Los ingleses toman la cerveza sin espuma... +INFO?frase=2
3: Mis frases de ejemplo son mediocres... +INFO?frase=3

echo Random(frases)

POPUP:
if frases=1 then
echo "Los perros tienen 4 patas gracias a la evolucion y las utilizan para rascarse las pulgas de detras de las orejas [foto de perro aqui]"
elseif frases=2 then
echo "Los ingleses toman la cerveza sin espuma porque son unos borrachines que piden toda la cerveza de golpe y la espuma se esfuma [foto de vaso sin espuma aqui]"
elseif frases=3 then
echo "Mis frases son mediocres porque tengo pocas ganas de pensar en otras mejores. Se aceptan sugerencias [foto de... frases... mediocres... aqui]


Se entendio o la complique todavia mas con mi pseudolenguaje de programacion inventado?
__________________
delFuego.com.ar
mi tumblelog sobre diseño

La dedicación en mi respuesta es directamente proporcional a la dedicación en tu pregunta.
  #20 (permalink)  
Antiguo 24/05/2006, 12:02
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Ahora lo tengo mucho más claro... pero con tanta cerveza ...

Ahora me toca ir a pintar, así que dejo el tema pendiente... pero sí que lo entiendo

... aunque la verdad es que el ejemplo que te preparé tiene "un aire..."

Se parece a los resúmenes de los blogs o de los artículos de maestrosdelweb...

Al menos, me parece que vas aprendiendo...

Saludos

P.D: Sí... Quilmes es donde está la fábrica de cervezas, el parque de cervecería y un club de futbol... (bueno, como cosas representativas...)
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #21 (permalink)  
Antiguo 27/05/2006, 08:58
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Cita:
Iniciado por K3NNY

FRASES:
1: Los perros tiene 4 patas... +INFO?frase=1 <--- eso es un link con una variable
2: Los ingleses toman la cerveza sin espuma... +INFO?frase=2
3: Mis frases de ejemplo son mediocres... +INFO?frase=3

echo Random(frases)

POPUP:
if frases=1 then
echo "Los perros tienen 4 patas gracias a la evolucion y las utilizan para rascarse las pulgas de detras de las orejas [foto de perro aqui]"
elseif frases=2 then
echo "Los ingleses toman la cerveza sin espuma porque son unos borrachines que piden toda la cerveza de golpe y la espuma se esfuma [foto de vaso sin espuma aqui]"
elseif frases=3 then
echo "Mis frases son mediocres porque tengo pocas ganas de pensar en otras mejores. Se aceptan sugerencias [foto de... frases... mediocres... aqui]


Se entendio o la complique todavia mas con mi pseudolenguaje de programacion inventado?
Hola K3NNY:

La verdad es que tuve unas cosas pendientes y "se me fue la olla..."

Me parece que lo que quieres es mejor con php...

$detalle = array();
$detalle[0] = "Los perros tienen 4 patas gracias a la evolucion y las utilizan para rascarse las pulgas de detras de las orejas <img src='perro.jpg' />";
$detalle[1] = "Los ingleses toman la cerveza sin espuma porque son unos borrachines que piden toda la cerveza de golpe y la espuma se esfuma <img src='cerveza.jpg' />";
$detalle[2] = "Mis frases son mediocres porque tengo pocas ganas de pensar en otras mejores. Se aceptan sugerencias <img src='champion.jpg' />";

echo detalle[rand(0, count(detalle)];

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #22 (permalink)  
Antiguo 27/05/2006, 13:43
Avatar de K3NNY
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: ARGENTINA!
Mensajes: 1.493
Antigüedad: 20 años, 2 meses
Puntos: 20
Uhm, por lo que yo interpreto de ese codigo, lo que estas haciendo es imprimir en la web una de las frases al azar. Me viene bien porque el script que yo usaba para lograr lo mismo requeria un archivo externo y ocupaba unas 4 lineas, PERO no era lo que estaba buscando :D Lo que yo busco hacer es lo siguiente: En la pagina principal, se muestra una frase al azar, por ejemplo...

Sabias que los perros tienen 4 patas? (Leer mas...)

...y cuando uno hace click en el link "Leer mas..." aparece un popup que dice...

Código:
|¯¯¯¯¯¯¯¯¯¯¯| Los perros tienen 4 patas porque si tuvieran 3 cojearian.
|           | Lorem ipsum dolor sit amet, lorem ipsum dolor sit amet.
| perro.jpg | Lorem ipsum dolor sit amet, lorem ipsum dolor sit amet.
|           | Lorem ipsum dolor sit amet, lorem ipsum dolor sit amet.
|___________| Lorem ipsum dolor sit amet, lorem ipsum dolor sit amet.
...entonces, como la frase con el link "leer mas.." es aleatoria, necesito pasarle una variable al popup para que sepa que texto tiene que mostrar, si el del perro, el de la cerveza o el del usuario con muchisima paciencia que ayuda a otro usuario que no sabe explicarse :D

Y como aparte de la frase el popup tiene que tener un script PHP que detecte el idioma, necesito que el popup ya exista de antes, y no que se genere magicamente via Javascript.
__________________
delFuego.com.ar
mi tumblelog sobre diseño

La dedicación en mi respuesta es directamente proporcional a la dedicación en tu pregunta.
  #23 (permalink)  
Antiguo 28/05/2006, 00:45
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Hola:

Si es que te había entendido, pero tenía los dedos muy rápidos
En vez de hacer la asignación aleatoria, tendrías que usar la variable que se pasa de la página principal...

Sabias que los perros tienen 4 patas? (Leer mas...)

el enlace para leer más podría ser así:
<a href="descripcion.php?idioma=es?ref=0" target="popup" onclick="window.open('', 'popup', 'width=400,height=200')" >Leer más...</a>

... y en descripción.php leer los parámetros:
$idioma = "$_GET["idioma"];
$ref = "$_GET["ref"];

Ahora una leve modificación:

$detalle = array();
$detalle[0]["es"] = "Los perros tienen 4 patas gracias a la evolucion y las utilizan para rascarse las pulgas de detras de las orejas.";
$detalle[0]["en"] = "The canes is an animal (chuchouuu)... bla, bla...";
$fotos = array("perro.jpg", "cerveza.jpg"...);

Ahora, maquetas la página dejando libre el espacio de la foto y del "detalle" y en esos huecos pones:
<?php echo $detalle[$ref][$idioma]; ?>
y
<?php echo $fotos[1]; ?>

Con esta página solo envías la pides al servidor la foto y la frase y es lo único que te envía (ahorras tráfico y detalles de implementación... además con javascipt deshabilitado funciona Ok...)

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #24 (permalink)  
Antiguo 28/05/2006, 04:56
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 22 años, 8 meses
Puntos: 381
Buenaas

sugiero, pa tenerlo aún más ordenado, especialmente para cuando tengas tresmilochocientosnueve o más frases se puede agregar el nombre de la foto al mismo array $detalle

Código:
$detalle = array();
$detalle[0]["es"] = "Los perros tienen 4 patas gracias a la evolucion y las utilizan para rascarse las pulgas de detras de las orejas.";
$detalle[0]["en"] = "Dogs jaf for piernas zancs to de evoluchion an dei yus dem to escrach bijain iars";
$detalle[0]["foto"] = "perro.jpg"; 
y lo escribes con php como <?php echo $detalle[$ref]["foto"]; ?>

Me he permitido además hacer una traducción más correcta al inglés

Saludos
  #25 (permalink)  
Antiguo 28/05/2006, 10:35
Avatar de K3NNY
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: ARGENTINA!
Mensajes: 1.493
Antigüedad: 20 años, 2 meses
Puntos: 20
Wiiiiiiii, funciono. De hecho, me encanto lo de pasar el idioma en el mismo link, me ahorra tener que detectarlo. Todavia no lo probe a fondo, y seguramente los moleste una o dos veces mas, pero despues de tantos intentos queria empezar diciendo GRACIAS CARICATOS por la paciencia. Y gracias Tunait por el "tip" organizativo, ahora lo voy a probar.

PD: Caricatos, la primera vez que lo probe me dijo que habia un error en esta linea...

$idioma = "$_GET["idioma"];
$ref = "$_GET["ref"];

...e intui que eran las comillas antes de los GET, ya que en ningun momento las cerraste, asi que directamente las elimine y anda perfecto, hice bien? Pregunto porque nunca trabaje con GET. Despues me salto otro error pero era porque me habia olvidado de borrar los puntos suspencivos en el array de fotos :D

De nuevo, gracias por la paciencia.
__________________
delFuego.com.ar
mi tumblelog sobre diseño

La dedicación en mi respuesta es directamente proporcional a la dedicación en tu pregunta.
  #26 (permalink)  
Antiguo 28/05/2006, 11:06
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Cita:
Iniciado por tunait
Buenaas

sugiero, pa tenerlo aún más ordenado, especialmente para cuando tengas tresmilochocientosnueve o más frases se puede agregar el nombre de la foto al mismo array $detalle

Código:
$detalle = array();
$detalle[0]["es"] = "Los perros tienen 4 patas gracias a la evolucion y las utilizan para rascarse las pulgas de detras de las orejas.";
$detalle[0]["en"] = "Dogs jaf for piernas zancs to de evoluchion an dei yus dem to escrach bijain iars";
$detalle[0]["foto"] = "perro.jpg"; 
y lo escribes con php como <?php echo $detalle[$ref]["foto"]; ?>

Me he permitido además hacer una traducción más correcta al inglés

Saludos
¡Excelente!

Pensaba que trabajando con el turismo de la Costa del Sol, mi inglés era casí de "Filólogo" (no me refiero a "Enólogo")... pero me has dado una buena lección
Lo de poner en el array la foto es otra buena idea sin duda... Y otra posibilidad sería usar un objeto (class) aunque la definición sería algo más compleja...

Cita:
Iniciado por K3NNY
Wiiiiiiii, funciono. De hecho, me encanto lo de pasar el idioma en el mismo link, me ahorra tener que detectarlo. Todavia no lo probe a fondo, y seguramente los moleste una o dos veces mas, pero despues de tantos intentos queria empezar diciendo GRACIAS CARICATOS por la paciencia. Y gracias Tunait por el "tip" organizativo, ahora lo voy a probar.

PD: Caricatos, la primera vez que lo probe me dijo que habia un error en esta linea...

$idioma = "$_GET["idioma"];
$ref = "$_GET["ref"];

...e intui que eran las comillas antes de los GET, ya que en ningun momento las cerraste, asi que directamente las elimine y anda perfecto, hice bien? Pregunto porque nunca trabaje con GET. Despues me salto otro error pero era porque me habia olvidado de borrar los puntos suspencivos en el array de fotos :D

De nuevo, gracias por la paciencia.
Me alegro de que ya te funcione y perdona las comillas... yo uso mucho el copy & paste y seguro que se me coló sin querer.

P.D: Tunait, iba a reportarlo porque al final me pareció más lógico resolverlo con php y así encaucé mis respuestas, pero no sabía como iba a desarrollarse el tema

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #27 (permalink)  
Antiguo 28/05/2006, 12:15
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 22 años, 8 meses
Puntos: 381
Cita:
Iniciado por caricatos
¡Excelente!

Pensaba que trabajando con el turismo de la Costa del Sol, mi inglés era casí de "Filólogo" (no me refiero a "Enólogo")... pero me has dado una buena lección
jeje ... ¿viste?

Cita:
Iniciado por K3NNY
Wiiiiiiii,
me hizo gracia ese gritito

Cita:
Iniciado por caricatos
P.D: Tunait, iba a reportarlo porque al final me pareció más lógico resolverlo con php y así encaucé mis respuestas, pero no sabía como iba a desarrollarse el tema
Yap, lo que pasa que al final el tema ha quedado híbrido entre javascript y php

¿lo mandamos para Web general?
  #28 (permalink)  
Antiguo 28/05/2006, 14:35
Avatar de K3NNY
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: ARGENTINA!
Mensajes: 1.493
Antigüedad: 20 años, 2 meses
Puntos: 20
Bien, ya lo implemente a "gran" escala. Al final, para acomodarlo con mi pagina termine sacandole la variable del idioma, ya que en mi pagina la variable que contiene las frases es la misma en ambos ingles y español, la unica diferencia es que carga el valor de la variable desde archivos distintos segun el idioma.
Solo me falta utilizar el sistema de Tunait para las imagenes, ya que de esa manera seria mas facil el no poner imagenes en algunos de los popups.
Ahora tengo problemas con el script que usaba para imprimir al azar una de las frases cortas, porque carga una linea al azar de un archivo externo, pero aparentemente esa parte no llega al servidor porque no me interpreta el php de esas lineas en particular. Si miro el codigo fuente aparece la funcion "php echo" sin procesar. Muy extraño. Con un poco mas de tiempo voy a intentar desligarme de ese script y usar otro array para imprimir las frases cortas.

En fin, asunto solucionado, en lo que a este topic respecta. Al final, creo que mas alla del popup, no se uso para nada Javascript, asi que no se donde ponerlo, si en web general o en php. Decidan ustedes :D

PD: Le agregue el [SOLUCIONADO] al primer post pero como ya escribimos mucho no cambia el titulo del topic.
__________________
delFuego.com.ar
mi tumblelog sobre diseño

La dedicación en mi respuesta es directamente proporcional a la dedicación en tu pregunta.
  #29 (permalink)  
Antiguo 28/05/2006, 22:43
Avatar de K3NNY
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: ARGENTINA!
Mensajes: 1.493
Antigüedad: 20 años, 2 meses
Puntos: 20
Cita:
Iniciado por caricatos
echo detalle[rand(0, count(detalle)];
Para los que esten leyendo esto y esten interesados queria avisar que el muy paciente Caricatos se olvido de un par de caracteres en esa linea :D

Cita:
echo $detalle[rand(0, count(detalle))];
__________________
delFuego.com.ar
mi tumblelog sobre diseño

La dedicación en mi respuesta es directamente proporcional a la dedicación en tu pregunta.
  #30 (permalink)  
Antiguo 29/05/2006, 16:58
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Cita:
Iniciado por K3NNY
Para los que esten leyendo esto y esten interesados queria avisar que el muy paciente Caricatos se olvido de un par de caracteres en esa linea :D
echo $detalle[rand(0, count($detalle))];

¡Je, je! y faltaba algo más...

Espero que nos enseñes los resultados...

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:23.