Как записать правило для модуля Рулес, что бы...

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

Аватар пользователя iNFerNo iNFerNo 17 августа 2012 в 20:43

Как записать правило для модуля Рулес, что бы... на главной странице на вьюхе были по одной ноде из каждого типа материалов (получается должна быть последняя созданная нода в моем случае).

Комментарии

Аватар пользователя NaZg NaZg 17 августа 2012 в 21:28

Рулесы тут вообще не при чём
Вьюхой выводить одну ноду и всё
Ну или вывесить их на главную и всё

Аватар пользователя iNFerNo iNFerNo 17 августа 2012 в 21:36

на 6ке вновь созданной ноде делал метку на главную... а предыдущие главные удалял... в рулесах делал. может в 7ке что-то поудобнее есть.

Аватар пользователя NaZg NaZg 17 августа 2012 в 22:13

"iNFerNo" wrote:
на 6ке вновь созданной ноде делал метку на главную... а предыдущие главные удалял... в рулесах делал. может в 7ке что-то поудобнее есть.

Наркоман чтоли?
Выводить только одну последнюю и всё.

Аватар пользователя Lotar Lotar 21 августа 2012 в 14:19

Самый простой способ вывести по одной записи каждого вида отдельной вьюхой и запихать в блок. Или в панельку.

Аватар пользователя cheplv cheplv 22 августа 2012 в 3:14

Для 6.
Сделать "View" из "Taxonomy Terms"
Добавить "Relationship" на тип "Node"
Поставть сортировку "Node Updated Date"
И отметить "Distinct".

Сделает запрос из разряда:
SELECT DISTINCT(term.tid)..... FROM terms LEFT JOIN term_data LEFT JOIN node ... ORDER BY node.updated

Но насколько помню "DISTINCT" отрабатывал раньше "ORDER BY" - там нужно было делать группировку.

Единственный нормальный и не затратный по разработке вариант это модуль "viewfield"
Т.е. сделать "view" из "Taxonomy terms" и ещё одну "view" из "nodes" которая будет принимать параметр "term.id", лимит на 1 запись и убывающую сортировку по дате.
В первой установить просмотр "fields" добавить поле которое будет "viewfield" подать название второй "view" и аргумент "Taxonomy term id" ([tid]).
100% включить кеширование - эта схема даст большой оверхед на базу.

Аватар пользователя Orion76 Orion76 22 августа 2012 в 10:40

Есть решение, но оно сложное..
При помощи рулес управлять флагом "выводить на главную" нужных материалов..
тут нужен модуль для интеграции Views и Rules
этот наверное подойдет(на орге их еще куча): http://drupal.org/project/views_rules
Правило - при сохранении НОВОГО материала "отключаем" у всех материалов того-же типа флаг "выводить на главную", асохраняемому материалу его включаем..

Вьюс для вывода материалов самый простой - фильтр по флагу "выводить на главную"..

Аватар пользователя iNFerNo iNFerNo 22 августа 2012 в 10:49

ну я так и делал в 6ке только проще. При новом материале сохраненном если есть вывод на главную флаг - обнуляем все флажки у таких же материалов.

Получается др решения так и не появилось. без использования флага - вывод на главную и манипуляции с этим

Аватар пользователя NaZg NaZg 22 августа 2012 в 11:40

"orion76" wrote:
Есть решение, но оно сложное..
При помощи рулес управлять флагом "выводить на главную" нужных материалов..
тут нужен модуль для интеграции Views и Rules
этот наверное подойдет(на орге их еще куча): http://drupal.org/project/views_rules
Правило - при сохранении НОВОГО материала "отключаем" у всех материалов того-же типа флаг "выводить на главную", асохраняемому материалу его включаем..

Вы меня натолкнули на другую идею
Если стоит галка выводить на главную, то при сохранении материала дёргается рулес, который сбрасывает такую галку у всех остальных нод этого типа.

Аватар пользователя NaZg NaZg 22 августа 2012 в 12:47

"orion76" wrote:
не... не.. именно это я и подразумевал-)))

Я предлагаю отказаться от флага. Или Вы имели в виду не модуль flag а именно настройку публикации?

Аватар пользователя Orion76 Orion76 22 августа 2012 в 13:14

"NaZg" wrote:
Я предлагаю отказаться от флага

"флаг" ,имеется ввиду, "булево" поле..
Стандартное поле матариалов типа "node" - "Помещать на главную"

Аватар пользователя cheplv cheplv 22 августа 2012 в 15:19

"iNFerNo" wrote:
а зачем тут термины. разделы - не термины.

Немного не в ту степь написал ((
"orion76" wrote:
не... не.. именно это я и подразумевал-)))

Неплохой вариант решения проблемы.