欢迎各位兄弟 发布技术文章
这里的技术是共享的
Hi I'm using Drupal 7 and Views 3. I have a view (named 'export') that generates a csv export of selected node entities. However, I've put some custom code in that displays all the fields contained within that selected node entity, and allows the user to select fields (via checkboxes) that they do not want to include in the export.
I've tried unsetting the selected fields within hook_views_query_alter like so:
function mymodule_views_query_alter (&$view, &$query) {
if ($view->name == "export") {
unset($query->fields['field_data_field_description_node_entity_type']);
}
}
I was able to remove views fields for a CSV export by unsetting the field in hook_views_pre_build() in my custom module.:
function mymodule_views_pre_build(&$view) {
if ( ($view->name == 'campaign_report'))
&& ($view->current_display == 'views_data_export_1') ) {
// You'll have your own list of fields to remove that you create somehow...
$fields_to_remove = array('field_name_to_remove_1','field_name_to_remove_2');
foreach ($fields_to_remove as $field_name) {
unset($view->field[$field_name]);
unset($view->display_handler->handlers['field'][$field_name]);
}
}
}