小编A. *_*ach的帖子

如何以编程方式从Views 3中删除字段?

嗨我正在使用Drupal 7和Views 3.我有一个视图(名为'export'),它生成所选节点实体的csv导出.但是,我已经放置了一些自定义代码,显示所选节点实体中包含的所有字段,并允许用户选择他们不希望包含在导出中的字段(通过复选框).

我尝试在hook_views_query_alter中取消设置所选字段,如下所示:

function mymodule_views_query_alter (&$view, &$query) {
  if ($view->name == "export") {
    unset($query->fields['field_data_field_description_node_entity_type']);
  }
}
Run Code Online (Sandbox Code Playgroud)

虽然这确实取消了字段数组的那部分,但我仍然在csv导出中填充了描述字段.我对视图对象结构不够熟悉,无法完全理解如何从视图中删除给定的字段.我在网上搜索了几个小时试图找到一个帖子来阐明这一点.虽然我发现了大量使用hook_views_query_alter添加过滤器或更改查询对象的WHERE语句的示例,但我没有发现任何与删除视图查询返回的列有关的内容.对此有任何建议将非常感谢!

谢谢,axl

drupal-views drupal-7

4
推荐指数
1
解决办法
5295
查看次数

标签 统计

drupal-7 ×1

drupal-views ×1