Опционная группировка по полю в Views (РЕШЕНО)

Главные вкладки

Аватар пользователя so-lo74 so-lo74 4 апреля 2013 в 14:25

Добрый день всем.

Среда: drupal 7.21
views 3.6 (7)

Проблема:
Есть табличное представление с фильтрами выводимыми в форме.
Пытаюсь программно реализовать выбор и задание поля для группировки (случай общий, поле — одно).
1. Подменяю в модуле форму exposed фильтра своей через MYMODULE_form_views_exposed_form_alter,
дополняя её управляющими элементами: checkbox, активизирующий через #states соответствующий список доступных полей.
Список заполянется именами полей из $form_state['view'], но это не суть.

2. Группирующее поле устанавливается в реализации хука views_pre_build, примерно так:

<?php
  
function MYMODULE_views_pre_build(&$view) {
    ...
    
$custom_field 'field_MYFIELD_value';
    
$view->display[$view->current_display]->handler->options["style_options"]["grouping"] = $custom_field;
    ...  
  }
?>

И всё формально, работает в связке, но есть ряд проблем, которые сводят идею на нет (.
1. Передача $custom_field в MYMODULE_views_pre_build.
Пока ничего лучше использования пары variable_set / get на ум не приходит (.
2. Собственно, проблема:
На практике хук views_pre_build вызывается до перехвата и подмены формы в модуле (MYMODULE_form_views_exposed_form_alter), а требуется наоборот ).
Изменение весов модуля относительно View ни к чему не привела — views_pre_build упорно вызывается до подмены формы
с фильтрами... (((
Можно, конечно, вынести диалог с заданием параметров группировки в другую форму или реализовать еще как-нибудь (отдельно от формы с фильтрами), но это не логично и плохо для usability.

Подскажите, плз, как побороть проблему? Хотя бы как добиться смены очередности вызова, т.е. чтобы форма с фильтрами перехватывалась до вызова views_pre_build.
Или ..., где (и как) можно задать значение группирующего поля иначе, нежели через views_pre_build.
А еще лучше бы ссылочку на нормальный мануал по теме, ибо вот ">http://api.drupal.org/api/views][/api] — маловато.

Заранее спасибо.