如何在Drupal中获取内容类型字段的值并将其传递给JS文件

时间:2014-09-02 02:12:47

标签: javascript php drupal drupal-7 soundcloud

在我的Drupal主题中,我有一个soundCloud URL的字段,其机器名称是(field_soundcloud_url_)我有一个javascript文件,它将根据此变量的值工作。但它不起作用。以下是我尝试这样做的方法:

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

我做得对吗?有什么想法吗?

1 个答案:

答案 0 :(得分: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');
  }
}