Здравствуйте.
На сайте есть категория "спальни", в котором около сотни товаров.
Суть в том, что есть топовые позиции которые хотелось бы держать на первой странице, а остальные не часто продаваемые на последующих.
Можно ли как-нибудь для определенного материала задать приоритет, чтобы при входе в категорию он стоял первым?
Заранее спасибо.
Комментарии
добавьте целочисленное cck-поле и сортируйте по нему
А стандартными методами никак?
А как дальше по этому полю сортировать?
"стандартными" - имеется в виду, что друпал сам угадает, какие позиции являются топовыми и выведет их первыми?
Ему надо как-то об этом намекнуть.
Можно использовать чекбокс "закреплять вверху списков", но если он будет включен сразу у нескольких нод, то снова возникает вопрос - какие из таких нод считать наиболее топовыми, а какие - наименее. Числами удобнее.
Кстати, если товары - это ноды типа product из уберкарта (из тэгов к топику это неочевидно), то там такое поле уже предусмотрено - называется "позиция в списке" или как-то так.
http://drupal.org/node/398508
Ни у кого нет соображений по этому поводу?
views
Можно обойтись и без этого поля, однако при 1000± числе товаров производительность сайта оставит желать лучшего, заполнение этого поля я бы сделал через крон прямой выборкой из бд, пусть оно лучше в кроне несколько секунд будет тормозить чем на главной.
З.ы. могу ошибаться, но вроде был готовый модуль с этой хренью
А может кто-нибудь подсказать, есть ли такой модуль? А если есть киньте ссылку на модуль
Попробуйте глянуть ubercart_views или как там его, в нем вроде был комплект готовых представлений, однако прямой расчет этой... Даст не слабую нагрузку на бд
Написать свою вьюху лучше будет?
Да там не во вьюхе дело, а в том что купленное хранится в отдельной таблице, соответственно для прямого вывода нужно вывести таблицу нод с подцепленной таблицей продуктов из заказов, сгруппировать все это дело по нидам, отсортировать по числу нидов в продуктах заказов, отфильтровать по типам материала, словом, запрос получается довольно веселый в плане как засунуть его во вьювс(правда это реально если по возиться) и довольно сомнительно в плане скорости при большом числе товаров, если получится засунуть этот запрос во вьюху или найдете готовое решение, я бы на вашем месте проверил как это будет работать с реальным числом товаров через модуль devel(он умеет плодить ноды)
Хотя вспоминая свои извращенные запросы, при миллионах нод, которые выполнялись за вполне приемлемое время, эта идея мне кажется не такой уж и глупой
Еще такой вопрос.
Я добавил поле для материала. Тип (integer), по умолчанию 0.
Делал все на тестовом сайте. А если добавлю поле на сайт, где уже есть около 500 материалов.
В уже существующие материалы добавиться поле с 0-м по умолчанию?
Да
Кстати, разумнее будет накручивать эти счетчики создав действие для уберовского модуля ca и подключив его в админке в оформлении товара, т.е. посетитель купил продукт, пришли деньги, сработало ваше действие, которое накрутило счетчики в нодах из этого заказа, итого писанины в вашем модуле всего на пару тройку строк. Еще вариант, сделать это же но через модуль rules, правда для 6 версии он какой то не такой
не, это не айс
Про такой вариант как то не подумал))
На сайте ничего не продается. Просто есть много материалов. Нужно некоторые, давно добавленные, поднять вверх, чтобы не листать до него.