私は、特定のビューでいくつかのフィールドの設定を変更したいと作成したビュー をプログラム。
たとえば、画像フィールドの「フォーマッタ」と「画像スタイル」の設定を変更したいとします。このビューをエクスポートすると、このフィールドの設定は次のようになります。
/* Field: Taxonomy term: Natural images */
$handler->display->display_options['fields']['field_gallery_natural_images']['id'] = 'field_gallery_natural_images';
$handler->display->display_options['fields']['field_gallery_natural_images']['table'] = 'field_data_field_gallery_natural_images';
$handler->display->display_options['fields']['field_gallery_natural_images']['field'] = 'field_gallery_natural_images';
$handler->display->display_options['fields']['field_gallery_natural_images']['click_sort_column'] = 'fid';
$handler->display->display_options['fields']['field_gallery_natural_images']['type'] = 'colorbox';
$handler->display->display_options['fields']['field_gallery_natural_images']['settings'] = array(
'colorbox_node_style' => '',
'colorbox_image_style' => '',
'colorbox_gallery' => 'post',
'colorbox_gallery_custom' => '',
'colorbox_caption' => 'auto',
'colorbox_caption_custom' => '',
'display_empty' => '',
'custom_text' => '',
'empty_callback' => 'mymodule_empty_fields_no_data',
);
Colorboxフォーマッターの「画像スタイル」を次のように変更したいと思います。
$handler->display->display_options['fields']['field_gallery_natural_images']['settings']['colorbox_node_style'] = 'thumbnail';
それを保存します。どうすればいいですか?
ここのように:
編集1。
多分私は使うべきviews_save_view()
です:http :
//api.drupal.org/api/views/views.module/function/views_save_view/7
ビューを保存します。ビュー全体をクエリして変更し、この関数を使用する必要があるかもしれません。しかし、正確にはどうですか?
編集2。
私がで見つかったviews/includes/admin.inc
:指定されたビューは、次のように保存されますこと$form_state['view']->save();
でviews_ui_edit_view_form_submit()
。
プログラムで特定のビューモードの画像フィールドの「画像スタイル」を変更する方法はすでに知っていますが(歯車をクリックした後の「表示の管理」タブのように)、特定のビューで同様のことができれば幸いです。