Статья планируется про возможность программно изменить поведение и выдачу VIews. Про полную или частичную подмену SQL запроса во views.
Тема будет раскрывать внутреннее устройство views. с подробным расписыванием всех хендлеров их свойств и путей SQL запроса. Те формирование SQL от филдов до вывода на sql_build.
Для затравки:
$handler->query->where[0]['type'] = 'AND';
// Группируем подзапросы
$handler->query->where[1]['type'] = 'OR';
$handler->query->where[1]['clauses'][0] = "node.uid = ***CURRENT_USER***";
// Избавляем себя от ошибок
$handler->query->where[1]['args'] = array();
// Группируем группы
$handler->query->group_operator = 'OR';
Level: Profi
P/S:
Статья не для таких знаменитых личностей как: RxB (он мастер и подобное ему не интересно)
Комментарии
щито?
Наверно как БД сливать
Мб сразу нужный запрос писать, не?
Вьюс можно использовать как генератор запросов. Например так сделано в searchlight. Правда у вьюсов запросы часто мягко говоря безумные.
тема интересная...
не особенно востребованная... но бывает нада-))
была мыслишка сделать навороченные экспозед-фильтры (ползунки, счетчики, меню) с раздельным выводам по блокам ..
Для фильтрации товаров в юберкарте...
Но заказчик еще "зреет"...-)))
бггг.
Дампы то разворачивать научилсо уже?
нет
Это печально
Очень интересная тема
Статья может быть интересна, но только не в контексте Д6, views3 в 7ке уже довольно сильно отличается от 6го
МДинк говорит что семёрка это мёртворождённое дитя, так что, Энди, прислушайся к мнению специалиста
согласен с andypost
дааа...
смутные времена настали...одни мечуться.. что лучше: ubercart2 vs ubercart3 vs commerce
другие - views2 vs views3
третьи 6 7 или 8
.... а калькулятор Электроника считает...
а компьютер голых баб показывает
к сожалению views 3 для 7 не рассматривал и сказать о нем ничего не могу. да и для серьезных проектов я в последнее время больше склоняюсь к фреймворку. На данный момент единственный из понравившихся мне по идеологии и исполнению - это YII.
Тогда смысл использовать эту магию в легких проектах?
Для сайта-визитки требуется подменять sql-запрос?
Код, что ты привел в топике — дешевый закос под ORM, для PHP из пруд пруди.
Да, Дурпал это круто, можно запросы налету менять, но вопрос — зачем? Если приходится менять запрос, значит, он был неверно составлен и нужно исправлять ошибку на ранней стадии или писать свой запрос, верный. И да, кто потом будет разбирать твою магию? Такие же гуру, которые правят запрос динамически из-за завышенного ЧВС?
Стыдно не знать строение views
какими умозаключениями ты пришел к этому выводу?
Непонятно, какую задачу решает модуль.
Если нужно структурное изменение запроса, то это нужно делать используя правильные хендлеры.
Если нужно просто скорректировать один из запросов, так проще и правильнее весь запрос заменить, используя хук Views.
Вообще, править взаимодействия хендлеров снаружи вьюхи считаю ошибкой. Это называется "обманул таксиста, заплатил и не поехал".
Я думаю, ТС просто хочет в статье описать общий принцип работы с View API...
для тех кто не в танке...
не? или где я потерял "нить" обсуждения?
Общие принципы уже давно расписаны и даже есть несколько докладов, а вот действительную причину "подмены запросов" ТС такк и не озвучил... hook_world_alter
Правильно мыслишь