2017-08-22 29 views
0

我创建了我的自定义模块。我需要将获取的数据库值$ flag = 1传递给drupal 7中的js文件。在js文件中,我在js文件中捕获了'undefined variable aniv'将变量从模块传递到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

您是否在清除javascript缓存/ drupal缓存后检查了该页面。 –

+0

亚检查,但没有运气 – user3386779

+0

我可以使用控制台日志查看变量console.log(Drupal.settings.onetimepopupmenu);和console.log(Drupal.settings.one_time_popup.aniv);写入$ flag = 1后; //假设从数据库中获取 drupal_add_js(array('one_time_popup'=> array('aniv'=> $ flag)),array('type'=>'setting')); drupal_add_js(array('onetimepopupmenu'=>'yes'),array('type'=>'setting'));在模块 –

回答

0

我认为一个可能的问题是行

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

应该settingsettings

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