如何使用drupal视图字段值作为Javascript变量
我在Drupal7中设置了一个视图,输出一个字段的值,但我不知道如何将这个字段值传递给Javascript中的变量 我知道,对于节点,我可以简单地执行以下操作:如何使用drupal视图字段值作为Javascript变量,javascript,php,drupal,drupal-7,Javascript,Php,Drupal,Drupal 7,我在Drupal7中设置了一个视图,输出一个字段的值,但我不知道如何将这个字段值传递给Javascript中的变量 我知道,对于节点,我可以简单地执行以下操作: function MYMODULE_node_view($node, $view_mode, $langcode) { if ($view_mode == 'full') { $setting = array('MYMODULE' => array('currentNid' => $node->nid));
function MYMODULE_node_view($node, $view_mode, $langcode) {
if ($view_mode == 'full') {
$setting = array('MYMODULE' => array('currentNid' => $node->nid));
$node->content['#attached']['js'][] = array(
'data' => $setting,
'type' => 'setting',
);
}
}
然后在Javascript中:var currentNid=Drupal.settings.MYMODULE.currentNid代码>
我真的很想知道如何处理视图字段。我正在发布此解决方案,以防将来有人需要它
模块
function MODULE_preprocess_views_view_fields(&$vars) {
if ($vars['view']->name == 'VIEW_NAME' && $vars['view']->current_display ==
'DISPLAY_NAME') {
//dpm($vars); use the devel module to expose available variable
$myVar = $vars['fields']['uid']->content;
drupal_add_js(array('MODULE' => array('mykey' => $myVar)), array('type' => 'setting'));
drupal_add_js(drupal_get_path('module', 'MODULE') . '/MODULE.js');
}
}
MODULE.JS
(function ($) {
Drupal.behaviors.MODULE = {
attach: function(context,settings) {
$(document).ready(function() {
alert(settings.MODULE.mykey);
});
}}})(jQuery);