在drupal 7视图中,我创建了一个自定义模块并使用以下方法添加动态列。
function my_module_views_pre_view(&$view, &$display_id, &$args) {
if ($view->name == 'my_view') {
$countries = my_module_vocab_terms('countries');
foreach ($countries as $country){
$view->add_item($view->current_display, 'field', 'views', 'nothing', array(
'label' => $country->name,
'alter' => array('text' => $country->tid),
'element_class' => 'my-field',
'element_default_classes' => 0,
), $country->tid);
}
}
}
}
但是像这样在每一行中重复的文本值。
请建议如何为每一行传递值。
由于
答案 0 :(得分:0)
如果有人仍然对如何更改这些字段的值感兴趣。 您可以通过呈现字段并更改已获取结果的钩子之一中的数据来实现,例如。 hook_views_post_execute、hook_views_pre_render、hook_views_post_render 取决于您的需要。
/**
* Implements hook_views_post_execute().
*/
function my_module_views_post_execute(view &$view) {
$view->style_plugin->render_fields($view->result);
$view_fields = &$view->style_plugin->rendered_fields;
foreach ($view_fields as &$field) {
$field['my_field'] = "some value";
}
unset($field);
}