Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] concatenando un html en una variable

Estas en el tema de concatenando un html en una variable en el foro de PHP en Foros del Web. gente ya no puedo mas, necesito ayuda urgente concatenando un html q estoy armando en una variable... estoy armando una variable llamada $html y llegue ...
  #1 (permalink)  
Antiguo 02/12/2014, 13:30
Avatar de BloodShadow  
Fecha de Ingreso: marzo-2010
Ubicación: El Salvador
Mensajes: 393
Antigüedad: 14 años, 1 mes
Puntos: 52
concatenando un html en una variable

gente ya no puedo mas, necesito ayuda urgente concatenando un html q estoy armando en una variable... estoy armando una variable llamada $html y llegue un punto donde concateno js tambien y ahi no supe como mas seguir...

Código PHP:
Ver original
  1. $html .= '
  2. complete: function(responseText){
  3.                  jQuery(".content-activation-button").html(\'<button type="button" class="activated-button" onClick="window.open(\'+responseText.responseText+\',\'_blank\')" target="_blank">Go Fanpage</button>\');
  4. ';

de antemano muchas gracias ya no se q mas probar ya probe de mil maneras D:
  #2 (permalink)  
Antiguo 02/12/2014, 13:47
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: concatenando un html en una variable

Te sugiero leer el siguiente tema para que aprendas a combinar las comillas correctamente: http://www.forosdelweb.com/f18/como-...s-bien-588701/
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 02/12/2014, 13:55
Avatar de BloodShadow  
Fecha de Ingreso: marzo-2010
Ubicación: El Salvador
Mensajes: 393
Antigüedad: 14 años, 1 mes
Puntos: 52
Respuesta: concatenando un html en una variable

gracias @pateketrueke pero mi problema es q tambien voy encadenando js ahi es donde tengo problemas
  #4 (permalink)  
Antiguo 02/12/2014, 13:57
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: concatenando un html en una variable

Eso también se explica perfectamente en el tema que te pasé, por favor, lee antes de continuar.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 02/12/2014, 14:00
Avatar de BloodShadow  
Fecha de Ingreso: marzo-2010
Ubicación: El Salvador
Mensajes: 393
Antigüedad: 14 años, 1 mes
Puntos: 52
Respuesta: concatenando un html en una variable

si ya lo lei y muchas cosas ya lo sabia ahora estoy probando de esta forma y sigue con problemas creemelo que ya probe muchas formas

$html .= 'jQuery(".content-activation-button").html("<button type=\'button\' class=\'activated-button\' onClick=\'window.open(\''+responseText.responseTex t+'\',\'_blank\')\' target=\'_blank\'>Go Fanpage</button>");';
  #6 (permalink)  
Antiguo 02/12/2014, 14:01
Avatar de BloodShadow  
Fecha de Ingreso: marzo-2010
Ubicación: El Salvador
Mensajes: 393
Antigüedad: 14 años, 1 mes
Puntos: 52
Respuesta: concatenando un html en una variable

otra forma

$html .= 'jQuery(".content-activation-button").html(\'<button type="button" class="activated-button" onClick="window.open(\''+responseText.responseText +'\',"_blank")" target="_blank">Go Fanpage</button>\');';
  #7 (permalink)  
Antiguo 02/12/2014, 15:43
Avatar de BloodShadow  
Fecha de Ingreso: marzo-2010
Ubicación: El Salvador
Mensajes: 393
Antigüedad: 14 años, 1 mes
Puntos: 52
Respuesta: concatenando un html en una variable

otra prueba fallida:

$html .= "jQuery('.content-activation-button').html('<button type=\"button\" class=\"activated-button\" onClick=\"window.open(\''+responseText.responseTex t+'\',\'_blank\')\" target=\"_blank\">Go Fanpage</button>');";
  #8 (permalink)  
Antiguo 02/12/2014, 15:52
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: concatenando un html en una variable

Mira, no se trata de probar cada cosa posible hasta obtener un resultado: eso sería aplicar fuerza bruta.

¿Entonces dónde queda tu capacidad de analizar y adquirir conocimiento?

Lo que estás haciendo no tiene ni pies ni cabeza, antes de querer combinar sub-lenguajes dentro de cadenas de texto deberías aprender a separar dicho código.

Entiende que las comillas tienen un significado especial en los lenguajes de programación, y más aún debes tener cuidado cuando combinas comillas dentro de comillas.

Si lees bien el tema que te coloqué desde el inicio ahí se explica todo esto, y si aún así sigues sin entenderlo entonces tienes serios problemas al respecto.

¿Qué parte es la que no entiendes?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #9 (permalink)  
Antiguo 02/12/2014, 16:42
Avatar de BloodShadow  
Fecha de Ingreso: marzo-2010
Ubicación: El Salvador
Mensajes: 393
Antigüedad: 14 años, 1 mes
Puntos: 52
Respuesta: concatenando un html en una variable

el problema q es un shortcode q estoy haciendo en un plugin de wordpres y para q funcionen correctamente hay q devolver el html en la funcion return $html; no se puede imprimir el html directamente en la funcion y realmente no comprendo mucho esto de concatenar javascript dentro de php D: y el html incluye muchas funciones javascript y html pero es esa linea precisamente con la q tengo problemas por la concatenacion de la variable de js :(
  #10 (permalink)  
Antiguo 02/12/2014, 16:45
Avatar de BloodShadow  
Fecha de Ingreso: marzo-2010
Ubicación: El Salvador
Mensajes: 393
Antigüedad: 14 años, 1 mes
Puntos: 52
Respuesta: concatenando un html en una variable

estoy volviendo a leer pero mi caso, con php abro con un tipo de comillas, dentro de esas comillas va js q abro con otro tipo de comillas el cual lleva mas comillas.... estoy confuso realmente :(
  #11 (permalink)  
Antiguo 02/12/2014, 16:50
Avatar de BloodShadow  
Fecha de Ingreso: marzo-2010
Ubicación: El Salvador
Mensajes: 393
Antigüedad: 14 años, 1 mes
Puntos: 52
Respuesta: concatenando un html en una variable

lo admito estoy a prueba y error hasta q me funcione para luego analizar cual era mi error :(
  #12 (permalink)  
Antiguo 02/12/2014, 17:01
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: concatenando un html en una variable

Probablemente el error más grave es que haces siempre lo mismo: no buscas alternativas.

Si lees el tema de nuevo descubrirás que ahí se exponen alternativas para tratar con combinaciones más complicadas, ejemplo:

Código PHP:
Ver original
  1. $foo = 'BAR';
  2.  
  3. $js_code = <<<'MY_JS'
  4. // aquí no se pueden usar variables, por el estilo de HEREDOC
  5. $('.selector').click(function() {
  6.   alert('yaaaay!');
  7. });
  8. MY_JS;
  9.  
  10. // o mejor aún, que el código esté en otro archivo:
  11. // $js_code = file_get_contents('my_script.js');
  12.  
  13. $html = <<<MY_MARKUP
  14. Aquí puedo colocar cualquier tipo de HTML, con comillas y no habrá ningún problema.
  15.  
  16. Tampoco hace falta escapar las comillas pues ya se hace de manera automática.
  17.  
  18. Otra ventaja es poder utilizar variables (sólo variables) aquí: $foo
  19.  
  20. O hasta incluir otro código externo:
  21. <script>$js_code</script>
  22. MY_MARKUP;
  23.  
  24.  
  25. $html .= 'algo más de texto/html, etc.';

Al final estás trabajando únicamente con código Javascript/HTML, que al final es sólo texto y nada más, ¿dónde está la complicación?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #13 (permalink)  
Antiguo 02/12/2014, 17:26
Avatar de BloodShadow  
Fecha de Ingreso: marzo-2010
Ubicación: El Salvador
Mensajes: 393
Antigüedad: 14 años, 1 mes
Puntos: 52
Respuesta: concatenando un html en una variable

no tenia idea de esa forma de hacerlo... investigare pero aun me queda un pequeño detalle, lo hice asi (no se si estara bien xq solo estaba probando luego investigo sobre eso)

Código PHP:
Ver original
  1. $html .= <<<MY_MARKUP
  2. jQuery(".content-activation-button").html("<button type=\"button\" class=\"activated-button\" onClick=\"window.open('+responseText.responseText+','_blank')\" target=\"_blank\">Go Fanpage</button>");
  3. MY_MARKUP;

pero al darle click no cogio la variable del responseText kedando la url asi

http://dominio/path/+responseText.responseText+

y ahi si no se como hacerlo
  #14 (permalink)  
Antiguo 02/12/2014, 17:39
Avatar de BloodShadow  
Fecha de Ingreso: marzo-2010
Ubicación: El Salvador
Mensajes: 393
Antigüedad: 14 años, 1 mes
Puntos: 52
Respuesta: concatenando un html en una variable

probe cambiando las comillas y me sigue dando el mismo problme

$html .= <<<MY_MARKUP
jQuery(".content-activation-button").html('<button type="button" class="activated-button" onClick="window.open(\'+responseText.responseText+ \',\'_blank\')" target="_blank">Go Fanpage</button>');
MY_MARKUP;
  #15 (permalink)  
Antiguo 02/12/2014, 17:41
Avatar de BloodShadow  
Fecha de Ingreso: marzo-2010
Ubicación: El Salvador
Mensajes: 393
Antigüedad: 14 años, 1 mes
Puntos: 52
Respuesta: concatenando un html en una variable

ya me lo dibuja bien arregle lo de las comillas

Código PHP:
Ver original
  1. $html .= <<<MY_MARKUP
  2. jQuery(".content-activation-button").html('<button type="button" class="activated-button" onClick="window.open(\''+responseText.responseText+'\',\'_blank\')" target="_blank">Go Fanpage</button>');
  3. MY_MARKUP;

pero al darle click me da este error la consola de js "SyntaxError: unterminated string literal" perdon si molesto mucho pero copio y pego el html q dibuja despues del ajax y ahi si me funciona, solo el boton recien dibujado es q no me funciona?

Última edición por BloodShadow; 02/12/2014 a las 17:53
  #16 (permalink)  
Antiguo 02/12/2014, 17:57
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: concatenando un html en una variable

El problema es que las comillas simples las estás escapando cuando ya no tiene más sentido hacerlo.

Observa el código HTML generado en tu navegador y ahí verás los errores de sintaxis.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #17 (permalink)  
Antiguo 02/12/2014, 18:00
Avatar de BloodShadow  
Fecha de Ingreso: marzo-2010
Ubicación: El Salvador
Mensajes: 393
Antigüedad: 14 años, 1 mes
Puntos: 52
Respuesta: concatenando un html en una variable

pero si no las escapo me sale el error q no pone la variable del response sino q el texto plano kedando la url www.dominio.com/+renponseText+ y me da este error "SyntaxError: missing ) after argument list" antes de dibujar todo... y viendo el html lo dibuja todo correctamente sino termino esto ahora me despiden jajajaja y solo eso me falta y.y
  #18 (permalink)  
Antiguo 02/12/2014, 18:05
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: concatenando un html en una variable

Primero deberías aprender a programar en Javascript, porque la solución es realmente únicamente código Javascript.

Que lo imprimas con PHP o no es irrelevante, tu problema es Javascript y nada más.

Sería bueno ver el código HTML/Javascript que se genera.

En fin, ¿cómo adivinar?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #19 (permalink)  
Antiguo 02/12/2014, 18:10
Avatar de BloodShadow  
Fecha de Ingreso: marzo-2010
Ubicación: El Salvador
Mensajes: 393
Antigüedad: 14 años, 1 mes
Puntos: 52
Respuesta: concatenando un html en una variable

genera justo lo q necesito, si copio y pego esto funciona pero recien recien dibujado despues del ajax no funciona

Código HTML:
Ver original
  1. <button target="_blank" onclick="window.open('https://www.facebook.com/LocurasMundiales','_blank');" class="activated-button" type="button">Go Fanpage</button>
  #20 (permalink)  
Antiguo 02/12/2014, 18:34
Avatar de BloodShadow  
Fecha de Ingreso: marzo-2010
Ubicación: El Salvador
Mensajes: 393
Antigüedad: 14 años, 1 mes
Puntos: 52
Respuesta: concatenando un html en una variable

ya amigo, logre convencer a mi jefe que era mejor opcion hacerlo enlace xq el era el q estaba de necio q fuera un boton ... te agradezco el tiempo tomado ayudandome ;)
  #21 (permalink)  
Antiguo 02/12/2014, 18:40
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: concatenando un html en una variable

Cita:
Iniciado por BloodShadow Ver Mensaje
ya amigo, logre convencer a mi jefe que era mejor opcion hacerlo enlace xq el era el q estaba de necio q fuera un boton ... te agradezco el tiempo tomado ayudandome ;)
Es curiosa tu solución, porque es perfectamente aceptable usar un enlace y además aplicar estilos para hacerlo parecer como un botón.

Investiga más al respecto.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #22 (permalink)  
Antiguo 02/12/2014, 19:59
Avatar de BloodShadow  
Fecha de Ingreso: marzo-2010
Ubicación: El Salvador
Mensajes: 393
Antigüedad: 14 años, 1 mes
Puntos: 52
Respuesta: concatenando un html en una variable

mi jefe keria un boton y lo q dicen los jefes es ley jajaja pero el no sabia la diferencia entre boton y enlace xD listo amigo gracias de nuevo

Etiquetas: html, variable
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 05:46.