2017-08-22 26 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');