2014-09-02 28 views
1

在我的Drupal主題中,我有一個soundCloud URL字段,它的機器名是(field_soundcloud_url_)我有一個JavaScript文件,這個變量的值。但它不起作用。這裏是我試圖做到這一點:如何獲取Drupal中的內容類型字段的值,並將其傳遞給JS文件

page.tpl.php中

<?php 
    $node = node_load($nid); 
    $sound_cloud_url = $node->field_soundcloud_url_['und'][0]['value']; 
    drupal_add_js(array('my_module' => array('sound_cloud_url' => $sound_cloud_url)), 'setting'); 
?> 

JS文件

Drupal.settings.my_module.sound_cloud_url 

我是不是做正確嗎?任何想法?

回答

2

這可能是因爲你正在模板中做它,在這個階段已經太晚了。
在自定義模塊中執行HOOK_node_view

function HOOK_node_view($node, $view_mode, $langcode) { 
    if ($node->type=="blahblah"){ 
    $sound_cloud_url = $node->field_soundcloud_url_['und'][0]['value']; 
    drupal_add_js(array('my_module' => array('sound_cloud_url' => $sound_cloud_url)), 'setting'); 
    } 
} 
相關問題