2017-08-22 2 views
0

J'ai créé mon module personnalisé.J'ai besoin de passer la valeur de la base de données récupérée $ flag = 1 au fichier js dans le fichier drupal 7.In js j'ai attrapé 'variable non définie aniv' dans le fichier jspasser la variable du module au fichier js

module file 
$flag=1; //assume fetched from database 
drupal_add_js(array('one_time_popup' => array('aniv' => $flag)), array('type' => 'setting')); 
drupal_add_js(drupal_get_path('module', 'one_time_popup') . '/service.js','file'); 
$settings=variable_get('one_time_popup_effects',(ONE_TIME_POPUP_DEFAULT)); 
drupal_add_js(array('onetimepopupmenu'=>$settings),'settings'); 

service.js 
console.log(Drupal.settings.one_time_popup.aniv); 
+0

avez-vous vérifié la page après avoir effacé le cache javascript/cache drupal. –

+0

ya vérifié mais pas de chance – user3386779

+0

Je peux utiliser le journal de la console pour afficher les variables console.log (Drupal.settings.onetimepopupmenu); et console.log (Drupal.settings.one_time_popup.aniv); après avoir écrit $ flag = 1; // supposé récupéré de la base de données drupal_add_js (array ('one_time_popup' => array ('aniv' => $ flag)), array ('type' => 'setting')); drupal_add_js (array ('onetimepopupmenu' => 'yes'), array ('type' => 'setting')); dans la fonction init du module –

Répondre

0

Je pense que l'un problème possible est la ligne

drupal_add_js(array('onetimepopupmenu'=>$settings),'settings'); 

Il devrait être setting pas settings

drupal_add_js(array('onetimepopupmenu'=>$settings),'setting');