Usted está aquí

Cómo pasar valores desde un fichero PHP a uno JavaScript en Drupal

Escrito por MSc. Miguel Jaeger, 26 de Mayo, del 2016

En los tiempos que corren, cada vez son más las exigencias para nuestros productos en la web. No solo necesitamos jquery para añadirle el dinamismo que requieren las páginas y se vean 100% como la sueñan los analistas, arquitectos de información y diseñadores (Ver Figura 1), sino que existen operaciones que necesariamente debemos hacerlas desde el servidor web, en este caso con PHP.

Figura 1. Forma de acceder a las ofertas en el mapa

La pregunta que seguramente se hacen y que motivó precisamente que escribiera estas líneas es ¿cómo puedo enviar datos desde el fichero .module a nuestro fichero .js?, pues bien, acá les va un pequeño ejemplo.

Seguramente han escuchado hablar de la librería de js jvectormap para la creación de mapas vectoriales; pues bien, ella será nuestro conejillo de indias. Supongan que deseamos pintar un mapa del mundo, y sobre él pintar ciertos puntos en zonas específicas.

Realizamos en nuestro fichero .module las operaciones necesarias para obtener los valores de las coordenadas de los puntos antes mencionados (podemos hacerlo con alguna consulta, o simplemente recorriendo un arreglo, depende como lo hayamos implementado). Una vez obtenido los valores, para enviarlos a nuestro fichero .js, solo tenemos que incluir la siguiente línea de código:

drupal_add_js(array ('modulo' => array('variable' => $valor)), array('type' => 'setting'));

Donde:

Modulo: responde al nombre del módulo donde invoquemos nuestro código.

Variable: es el nombre de la variable que deseemos enviar

Valor: es el valor de dicha variable

Type: “simplemente lo dejamos como está”

Para acceder a estos valores luego desde jquery, lo invocamos en un behaviors como se ilustra a continuación:

(function ($) {

/*

Este código se ejecutará luego de cargar todos los js de nuestro portal, para que no entre en conficto */

Drupal.behaviors.exampleModule = {

        attach: function (context, settings) {

                var ejemplo = eval(Drupal.settings.modulo.variable);

/*

 A partir de acá…. Podemos trabajar desde js con los valores que enviamos desde php, noten que settings, modulo y variable fueron los que enviamos desde php.

*/

}

}

});

Espero que les haya servido de algo…. luego regreso con más tips de soluciones sencillas a problemas comunes que nos encontramos a diario.

cialis dosage
2020-07-07
Fincdr xsapek lasix online furosemida
MOSHIACH
2020-10-19
Hello there, I do believe your site could be having internet browser compatibility problems. When I take a look at your blog in Safari, it looks fine but when opening in IE, it has some overlapping issues. I just wanted to provide you with a quick heads up! Besides that, wonderful blog!
Michaelacunk
2020-07-07
Point very well applied!. thesis paper writing [url=https://newswithchai.com/world-banks-board-of-executive-directors-approves-a-fast-track1-billion-to-combat-covid-19-pandemic/15647/#comment-859587]n69mysh l22jms[/url] f9d453_
CoreywNoima
2020-07-08
You actually reported this perfectly! drugs for sale m75twvs f32uvj 452_525
MichaKacunk
2020-07-08
Nicely put. Regards! canadian drugs [url=http://www.autismsrezekne.lv/Forums/topic/purchase-neurobion-legally-online-meteor-online-medications-neurobion/#post-153416]j62nonc a44aww[/url] fb2ae44
CoreywNoima
2020-07-08
Useful stuff. Appreciate it. canadian drugs e29gdyn x71nox fa706b5
MatthTham
2020-07-08
MichaKacunk
2020-07-08
Good data. Thanks! top rated canadian pharmacies online [url=http://buckwyldmedia.com/2015/04/08/our-future-withwithout-parks-2105/#comment-441774]a69saf3 y61oyz[/url] d451_56

Páginas