Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > PHP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 12-03-2007
Avatar de lucasarts_18
lucasarts_18 lucasarts_18 is offline
Miembro
 
Registrado: mar 2005
Ubicación: Villa Alemana,Chile
Posts: 1.087
Poder: 21
lucasarts_18 Va por buen camino
Mezclar Php y JavaScript

Hola a todos:

He buscado en los foros sobre esto pero no me queda claro cual es la mejor forma de implementarlo, aquí dejo un código javascript:

Código:
var TREE_NODES={
	format:{
		left:0,
		top:150, 
		width:180,
		height:372,
		e_image:"images/fo_p.gif",		 
		c_image:"images/fc_p.gif",		 
		i_image:"images/i_p.gif",
		b_image:'images/b.gif',
		bgcolor:"#d4d0c8",
		back_bgcolor:"#d4d0c8",
		animation:0,
		padding:2,
		level_ident:16,
		dont_resize_back:1
	},
	sub:[
		{html:'Productos', 
			sub:[
				{html:'JavaScript', 
					sub:[
						{html:'Mantenedor de Productos', url:'#'},
						{html:'Mantenedor de Cajas', url:'#'},
						{html:'Informes de Productos', url:'#'},
						{html:'Productos por BOdegas', url:'#'},
						{html:'Envio de Productos', url:'#'}
					]
				},
				{html:'ASP.NET', 
					sub:[
						{html:'Smart Links', url:'#'}
					]
				}
				
			]
		},
		{html:'Services', 
			sub:[
				{html:'Software Development', url:'#'},
				{html:'Web Development', url:'#'}
			]
		}
	]
}
Esta código es de una líbrería javascript que conseguí para hacer menús de tipo arbol, mi duda es que esos menús debo generarlos de forma dinámica de acuerdo al perfil de usuario que se conecte, como puedo poner las varibles de php en javascript, o mejor dicho como genero código de javascript a través de php, la idea es así:

Código:
var TREE_NODES={
	format:{
		left:0,
		top:150, 
		width:180,
		height:372,
		e_image:"images/fo_p.gif",		 
		c_image:"images/fc_p.gif",		 
		i_image:"images/i_p.gif",
		b_image:'images/b.gif',
		bgcolor:"#d4d0c8",
		back_bgcolor:"#d4d0c8",
		animation:0,
		padding:2,
		level_ident:16,
		dont_resize_back:1
	},
	sub:[
		{html:'Productos', 
			sub:[
				{html:'JavaScript', 
					sub:[
						{html:'varphp', url:'#'},
						{html:'Mantenedor de Cajas', url:'#'},
						{html:'Informes de Productos', url:'#'},
						{html:'Productos por BOdegas', url:'#'},
						{html:'Envio de Productos', url:'#'}
					]
				},
				
etc..
etc..
gracias...

Hasta Luego .-
__________________
No todo es como parece ser...
Responder Con Cita
  #2  
Antiguo 12-03-2007
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Que yo sepa tienes dos opciones al menos. Una es hacer que el archivo "*.js" sea procesado por PHP. Puedes conseguirlo desde un archivo ".htaccess" o desde el archivo de configuración de Apache, si es el Servidor Web que usas:

Código:
< Files *.js >
ForceType application/x-httpd-php
< / Files >
Entonces dentro del archivo con JavaScript ya podrías incluir código PHP, encerrándolo en sus correspondientes etiquetas: "<?php echo $variable; ?>". Otra forma es incluir el JavaScript en un archivo PHP, de forma que desde ahí se imprima. Al estar ya en un archivo PHP puedes incluir "echos" y variables tal como se menciona antes.
__________________
David Esperalta
www.decsoftutils.com

Última edición por dec fecha: 12-03-2007 a las 11:19:14.
Responder Con Cita
  #3  
Antiguo 12-03-2007
Avatar de lucasarts_18
lucasarts_18 lucasarts_18 is offline
Miembro
 
Registrado: mar 2005
Ubicación: Villa Alemana,Chile
Posts: 1.087
Poder: 21
lucasarts_18 Va por buen camino
Cita:
Empezado por dec
Entonces dentro del archivo con JavaScript ya podrías incluir código PHP, encerrándolo en sus correspondientes etiquetas: "<?php echo $variable; ?>".
Hola Dec, esto parece lo mejor, lo intenté

Código:
{html:"<?php echo 'HOLA' ?>", url:'#'},
pero no me muestra ningun valor en pantalla,lo que estoy seguro es que si funciona ya que genera el arbol pero no me rescata ningún valor de php, y ya he configurado el Apache de la forma que mencionaste, debe ser la hora y el sueño que no permite ver cual es el problema...

Hasta Luego -.
__________________
No todo es como parece ser...
Responder Con Cita
  #4  
Antiguo 12-03-2007
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Bueno. Paciencia que verás como te sale. La opción que mencioné para Apache ciertamente sirve para forzar que PHP procese determinados archivos que normalmente no procesa PHP, como puedan ser los archivos de JavaScript ("*.js").

Quiere decirse que si no haces uso de estos archivos, sino que metes el JavaScript en un archivo PHP no necesitarás de la opción anterior. Por otro lado hay que pensar en si puede comprometerse la seguridad del Servidor en estos casos: quiero decir que tal vez sea mejor algo como esto:

Código:
< Files este-archivo.js >
ForceType application/x-httpd-php
< / Files >
Que no algo como esto:

Código:
< Files *.js >
ForceType application/x-httpd-php
< / Files >
La diferencia es clara: con la primera opción especificamos un archivo en concreto, con la segunda opción estamos haciendo que se procesen todos los archivos "*.js"... y esto acaso no es lo que necesitamos y puede acaso comprometer la seguridad del Servidor o sitio Web de algún modo...

Por otro lado embeber código PHP en código HTML o JavaScript es hasta cierto punto bastante habitual. Quiero decir que debería funcionar, que no se entiende el problema que tú encuentras... a no ser que estemos haciendo algo mal... y no nos demos cuenta, por supuesto.

Probando algo sencillo comprobaremos que todo va como se espera y después nos pondremos a ver qué podemos estar haciendo mal en donde no nos va bien:

Código PHP:
<html>
 <head>
  <script type="text/javascript">
   function Saludos(){
     alert('<?php echo "¡Hola mundo!"?>');
     return true;
   }
  </script>
 </head> 
 <body onload="Saludos();">
 </body>
</html>
Prueba el código fuente anterior. Guárdalo en un archivo con extensión ".php" y ejecútalo. Verás que nada más cargar podrás ver una alerta de JavaScript con el mensaje "¡Hola mundo!" tal y como puede esperarse. No sé. Se me ocurre que tengas algún problema de "comillas" o algo así... ¿usas un editor que resalta la sintaxis de los diferentes lenguajes? Fíjate que los colores "cuadren"... que las etiquetas "<?php" y "?>" no queden "tapadas" dentro de una cadena...
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #5  
Antiguo 12-03-2007
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
No sé si tenga algo que ver, pero no todos los servidores tienen habilitado el módulo rewrite de apache, que es el necesario patra la primera opción.

// Saludos
Responder Con Cita
  #6  
Antiguo 12-03-2007
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Tal vez... sin embargo yo creo que las cosas van más por el tema de las comillas. Si nos fijamos en el código JavaScript que el compañero refiere más arriba... para mí que lo que ocurre es que hay un lío con las comillas y el código PHP no se ejecuta o no se ejecuta como esperamos... convendría echar un vistazo al resultado, es decir, mirar el código fuente de la página, aunque el resultado no sea el que esperamos, precisamente, para ver qué puede estar pasando ahí.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #7  
Antiguo 13-03-2007
Avatar de Julián
Julián Julián is offline
Merodeador
 
Registrado: may 2003
Ubicación: en mi casa
Posts: 2.019
Poder: 10
Julián Va por buen camino
jau!

Cita:
Empezado por lucasarts_18
Código:
{html:"<?php echo 'HOLA' ?>", url:'#'},

Te falta el ; despues de 'HOLA'

un saludo;
__________________
"la única iglesia que ilumina es la que arde"
Anonimo
Responder Con Cita
  #8  
Antiguo 13-03-2007
Avatar de lucasarts_18
lucasarts_18 lucasarts_18 is offline
Miembro
 
Registrado: mar 2005
Ubicación: Villa Alemana,Chile
Posts: 1.087
Poder: 21
lucasarts_18 Va por buen camino
Excelente dec, funciona de maravilla, ya con esto puedo incrustar código php para poder construir mi menú dinámico, pero me queda dando vuelta el tema de los archivos *.js procesados por php, esto si que no me resultó, mas bien no lo he logrado entender, gracias también a julian por el aporte...

archivo prueba.php

Código:
var TREE_NODES={
	format:{
		left:0,
		top:150, 
		width:180,
		height:372,
		e_image:"images/fo_p.gif",		 
		c_image:"images/fc_p.gif",		 
		i_image:"images/i_p.gif",
		b_image:'images/b.gif',
		bgcolor:"#d4d0c8",
		back_bgcolor:"#d4d0c8",
		animation:0,
		padding:2,
		level_ident:16,
		dont_resize_back:1
	},
	sub:[
		{html:'Productos', 
			sub:[
				{html:'JavaScript', 
					sub:[
						{html:'<?php echo "Mantenedor de Productos"?>', url:'#'},
						{html:'Mantenedor de Cajas', url:'#'},
						{html:'Informes de Productos', url:'#'},
						{html:'Productos por BOdegas', url:'#'},
						{html:'Envio de Productos', url:'#'}
					]
				},
				{html:'ASP.NET', 
					sub:[
						{html:'Smart Links', url:'#'}
					]
				}
				
			]
		},
		{html:'Services', 
			sub:[
				{html:'Software Development', url:'#'},
				{html:'Web Development', url:'#'}
			]
		}
	]
}
He insertado con azul el código php que está funcionando...

Hasta Luego .-
__________________
No todo es como parece ser...
Responder Con Cita
  #9  
Antiguo 13-03-2007
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
Empezado por lucasarts_18
pero me queda dando vuelta el tema de los archivos *.js procesados por php, esto si que no me resultó, mas bien no lo he logrado entender
Pues al menos podrías revisar lo que comenté, ¿no crees?

// Saludos
Responder Con Cita
  #10  
Antiguo 13-03-2007
Avatar de lucasarts_18
lucasarts_18 lucasarts_18 is offline
Miembro
 
Registrado: mar 2005
Ubicación: Villa Alemana,Chile
Posts: 1.087
Poder: 21
lucasarts_18 Va por buen camino
Cita:
Empezado por roman
Pues al menos podrías revisar lo que comenté, ¿no crees?
Echaré un vistazo para informarme de lo que dices...

Gracias...
__________________
No todo es como parece ser...
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Mezclar Delphi5 y Visual Basic 6.0 guiweb Varios 4 23-11-2006 14:50:36
De JavaScript a PHP halizia PHP 10 10-10-2006 18:23:38
javascript kejos HTML, Javascript y otros 2 12-04-2006 12:53:35
es posible mezclar colores a los tform ronimaxh Varios 5 01-02-2006 19:36:14
Mezclar videos walito Varios 2 21-01-2006 01:21:38


La franja horaria es GMT +2. Ahora son las 11:33:13.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi