Posted by demixo-gdo on August 17, 2008 at 3:54am
Hola chicos,
Últimamente ando practicando algo de Ajax, creando pequeños ejemplitos como para entrar en calor con el tema. Ahora, se me entró la curiosidad de ver como aplicar todo mis ejemplitos dentro de Drupal 5.x, es decir, por ejemplo si creo un nodo tipo story, me gustaría hacer una llamada dinámica de páginas html que tengo creadas.
La verdad, no sé si será posible lo que estoy pidiendo, o si hay una manera mejor de usar Ajax en Drupal.
Bueno, agredezco de antemano sus aportes, gracias.
Saludos.
Comments
algunos metodos
Puedes usar jstools para carga dinamica de vistas, nodos y bloques. Aca hay una pagina prueba que hize con nodos en pestañas http://forensic.ipwa.net/node/11. Para que las pestañas tengan ese estilo del plugin de jQuery, puedes ver mi comentario aqui: http://drupal.org/node/62998#comment-799748. Aunque ahora lo haria en mi template.php en vez de cambiar el modulo. Otra manera rapida de tener pestañas es: quicktabs. Puedes usar tambien AJAX Views para cargar contenido dynamicamente, y si puedes llamar a tus paginas html usando jQuery en Drupal, mira este comentario para ver como: http://drupal.org/node/130078.
http://nic.ipwa.net
--
Nicolas
otro ejemplo
Puedes ver esto, de mi Blog:
http://stupendousamazing.blogspot.com/2008/04/using-ajax-to-load-parts-o...
Espero sirva de algo.
Views + template + ajax
Saludos,
Tengo actualmente una vista de tipo page, en la cual hago uso de dos plantillas para mostrar mi contenido en tablas, el problema es que al activar el paginador el ajax no recarga la plantilla que estoy utilizando, por consecuencia se desbarata el css de la vista.
Alguna sugerencia. Muchas gracias.
¿Cómo aplicas la plantilla de tablas?
Hola.
La plantilla que estás usando está especificada en un CSS o la aplicas vía javascript con jQuery o algo así?
Te pregunto porque me parece que lo que está pasando es que al momento que AJAX carga contenido nuevo se modifica el DOM y los "nuevos" objetos ya no son afectados por el código de javascript que se ejecutó al cargar por primera vez la página.
¿Esto es lo que te está sucediendo?
No estoy muy seguro de que sea así, pero probablemente puedas revisar la función .live() de jQuery http://api.jquery.com/live/ Que te permite que los elementos que se vayan agregando posteriormente tengan las mismas funciones aplicadas inicialmente.
Si esto no funciona detalla más el problema que tienes y te ayudamos.
Saludos.
re
En Efecto, cada vez que activo el paginador de la vista, al cargar los nuevos elementos el DOM es modificado, ejemplo:
Mi vista antes de presionar clic en el paginador:
Países miembros de la Minustah se reúnen en Uruguay
Política
Después de darle clic a siguiente al paginador:
22-09-2011
Presidente Chávez se pronuncia sobre los acontecimientos en el Medio Oriente
Regiones
Muchas gracias por cualquier sugerencia que me puedas aportar, veré que lo que dices con respecto a la función live()
Ahhh
Oye se me está ocurriendo lo siguiente.
Cómo es tu código que carga el estilo de la vista? (Esque no pude ver los links que pusiste)
Ese código puedes meterlo en una función para que manualmente lo ejecutes cada vez? Es decir, que cada que ejecutes el paginador de la vista tú manualmente vuelvas a aplicar el estilo ejecutando la función de javascript, ya sea desde la consola de firebug o mandando llamar la función asigándosela a algún botón de tu sitio web.
Si esto funciona, es decir, si el diseño manualmente se aplica y se corrige el CSS desbaratado entonces podríamos tratar de unir esa función al botón de paginación, para que cada vez que cargues el nuevo contenido al final se ejecute tu código que corrige el asunto este.
¿Cómo ves? No sé si me doy a entender, si no dime y me extiendo más =P
Saludos!