Приоритет для материала

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

Аватар пользователя shurik330 shurik330 26 августа 2012 в 14:33

Здравствуйте.
На сайте есть категория "спальни", в котором около сотни товаров.
Суть в том, что есть топовые позиции которые хотелось бы держать на первой странице, а остальные не часто продаваемые на последующих.
Можно ли как-нибудь для определенного материала задать приоритет, чтобы при входе в категорию он стоял первым?
Заранее спасибо.

Комментарии

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

"стандартными" - имеется в виду, что друпал сам угадает, какие позиции являются топовыми и выведет их первыми?
Ему надо как-то об этом намекнуть.

Можно использовать чекбокс "закреплять вверху списков", но если он будет включен сразу у нескольких нод, то снова возникает вопрос - какие из таких нод считать наиболее топовыми, а какие - наименее. Числами удобнее.

Кстати, если товары - это ноды типа product из уберкарта (из тэгов к топику это неочевидно), то там такое поле уже предусмотрено - называется "позиция в списке" или как-то так.

Аватар пользователя sg85 sg85 29 августа 2012 в 19:00

Можно обойтись и без этого поля, однако при 1000± числе товаров производительность сайта оставит желать лучшего, заполнение этого поля я бы сделал через крон прямой выборкой из бд, пусть оно лучше в кроне несколько секунд будет тормозить чем на главной.

З.ы. могу ошибаться, но вроде был готовый модуль с этой хренью

Аватар пользователя shurik330 shurik330 29 августа 2012 в 19:16

sg85 wrote:
З.ы. могу ошибаться, но вроде был готовый модуль с этой хренью

А может кто-нибудь подсказать, есть ли такой модуль? А если есть киньте ссылку на модуль

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

Попробуйте глянуть ubercart_views или как там его, в нем вроде был комплект готовых представлений, однако прямой расчет этой... Даст не слабую нагрузку на бд

Аватар пользователя shurik330 shurik330 29 августа 2012 в 19:25

sg85 wrote:
Попробуйте глянуть ubercart_views или как там его, в нем вроде был комплект готовых представлений, однако прямой расчет этой... Даст не слабую нагрузку на бд

Написать свою вьюху лучше будет?

Аватар пользователя sg85 sg85 29 августа 2012 в 19:44

Да там не во вьюхе дело, а в том что купленное хранится в отдельной таблице, соответственно для прямого вывода нужно вывести таблицу нод с подцепленной таблицей продуктов из заказов, сгруппировать все это дело по нидам, отсортировать по числу нидов в продуктах заказов, отфильтровать по типам материала, словом, запрос получается довольно веселый в плане как засунуть его во вьювс(правда это реально если по возиться) и довольно сомнительно в плане скорости при большом числе товаров, если получится засунуть этот запрос во вьюху или найдете готовое решение, я бы на вашем месте проверил как это будет работать с реальным числом товаров через модуль devel(он умеет плодить ноды)

Хотя вспоминая свои извращенные запросы, при миллионах нод, которые выполнялись за вполне приемлемое время, эта идея мне кажется не такой уж и глупой

Аватар пользователя shurik330 shurik330 29 августа 2012 в 19:43

Еще такой вопрос.
Я добавил поле для материала. Тип (integer), по умолчанию 0.
Делал все на тестовом сайте. А если добавлю поле на сайт, где уже есть около 500 материалов.
В уже существующие материалы добавиться поле с 0-м по умолчанию?

Аватар пользователя sg85 sg85 29 августа 2012 в 19:59

Да

Кстати, разумнее будет накручивать эти счетчики создав действие для уберовского модуля ca и подключив его в админке в оформлении товара, т.е. посетитель купил продукт, пришли деньги, сработало ваше действие, которое накрутило счетчики в нодах из этого заказа, итого писанины в вашем модуле всего на пару тройку строк. Еще вариант, сделать это же но через модуль rules, правда для 6 версии он какой то не такой

Аватар пользователя shurik330 shurik330 29 августа 2012 в 21:16

На сайте ничего не продается. Просто есть много материалов. Нужно некоторые, давно добавленные, поднять вверх, чтобы не листать до него.