Как сделать чтобы пользователь мог изменять что выводить в Drupal View?
Есть view которая выводит Format:Table с кастомной таблицы базы данных(в таблице поля: title, value1, value2). Хочу сделать чтобы каждый юзер у себя на страничке(с помощью чекбоксов) мог выбрать какие столбцы отображать, а какие нет. Подскажите, пожалуйста, так как я впервые столкнулся с такой задачей и не могу ее решить.
Спасибо!
Самый простой способ сделать всё на js там строк 50 получится вместе с чтением из куков того что выбрал пользователь в прошлый раз. Чуть сложнее в hook_views_pre_build() удалять колонки "физически" и читать например из $user->data[] что выбрал пользователь. Сам код не сложный будет, но у такого варианта куча нюансов и применять его нужно понимая последствия.
Антон Янковский Нет это для моего сайта.
На сколько я знаю удалить колонки "физически" можно и с помощью hook_views_query_alter(). Как будет лучше hook_views_query_alter() или hook_views_pre_build()? Можно подробнее о нюансах? Хочу сделать через hook_views_pre_build() или hook_views_query_alter()
В принципе почти в любом hook_views_* можно сделать хоть в hook_views_pre_render вопрос в накладных расходах. Одно дело убрать до того как запрос был создан и другое когда всё уже отработало. Для мелочи какой то может и не критично, а когда таблицы на сотни столбцов заметно весьма.
Нюансы касаются способа хранения того что выбрал пользователь, того как будут отображения чекбоксы и как будет происходить их срабатывание и опять же сохранение, возможных вариантов кеширование результатов. Каждый пункт подробно расписать я не осилю. Если у вас мелкий проект и нет проблем с хайлоад то морочится пока не стоит.