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


How to get the value of a content type field in Drupal and pass it to a JS file

在我的Drupal主题中,我有一个soundCloud URL的字段,它的机器名是(field_soundCloud_URL_)。但它不起作用。以下是我尝试的方法:

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

我做得对吗?知道吗?

这可能是因为您在模板中执行此操作,到目前阶段已经太晚了
在自定义模块的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');
  }
}