Вход • Регистрация

Сортировка товаров в списке товаров и в похожих товарах по дополнительной характеристике

  • 31 января 2015 г.
  • Приветствую всех!

    У товаров есть дополнительная характеристика "Дата выхода" типа дата. Необходимо, чтобы в СПИСКЕ ТОВАРОВ и в блоке ПОХОЖИЕ ТОВАРЫ они сортировались по данной характеристике. Т.е. чтобы сразу по умолчанию всегда сортировались по дополнительной характеристике.

    Шаблонным тегом show_block вывожу на главной странице некоторые товары, в данном теге есть параметр sort - но там не укажешь эту характеристику. А в шаблонном теге show_block_rel вовсе нет параметра sort.

    Поэтому начал копаться в файлах... по сортировке в блоке ПОХОЖИЕ ТОВАРЫ насколько я понял нужно копать файл shop.model.php функцию public function show_block_rel(). В ней нашел строку
    Код
    ... ORDER BY e.id DESC ...

    DESC на ASC менял... работатет - пеняет на обратный порядок. Менял e.id на e.[name] - стало сортироваться по имени товара.
    НО вот вопрос - как тут указать сортировку по характеристике "Дата выхода"? может как то указать параметр по id, но никак не соображу как это сделать.
    Прошу помощи знающих :)

    По сортировке в show_block еще более запутано для меня, как и где в shop.model.php для данного шаблонного тега указать сортировку по умолчанию по данной характеристике.
  • 03 февраля 2015 г.
  • За три дня ни одного ответа ... походу или вопрос не в той ветке, или еще что то.
  • 03 февраля 2015 г.
  • Цитата
    DESC на ASC менял... работатет - пеняет на обратный порядок. Менял e.id на e.[name] - стало сортироваться по имени товара.
    НО вот вопрос - как тут указать сортировку по характеристике "Дата выхода"? может как то указать параметр по id, но никак не соображу как это сделать.

    Кошмар, как Вы плаваете в теории... "Как-то указать id"... Уф. Вот у Вас есть таблица SHOP - представьте, что это обычная таблица Excell, и там есть поля, id, название товара, артикул, хит. Вы можете "кликнуть" в шапке этой таблицы на любое поле и отсортировать таблицу по любому из полей, которые есть в этой таблице! Но если в отдельном окне открыта другая таблица с полем "дата", хоть обкликайтесь по первой таблице, она не отсортируется по полям второй таблицы, т.к. она другая! И связи нет!
    Запрос SELECT FROM SHOP ORDER всего лишь получает поля из таблицы SHOP и просто сортирует их! Всё!
    Значения дополнительной характеристики сидят в другой таблице shop_param_element же! Чтобы получить эти данные в первом запросе, нужно присоединить таблицу с характеристиками и их значениями к первой таблице! Это второй класс школы программистов! Материалов море.
    • 03 февраля 2015 г. , редакция: 03 февраля 2015 г.
    • Виталий, спасибо за ответ! Согласен... плаваю еще как, т.к. не программист, поэтому и создал тему в ветке "вопросы от новичков". Сейчас переварю информацию и погребу дальше :)

Новости

  • 18 июня
  • В сборке большое обновление demo-шаблона, дополнительная защита от спама, улучшение YML-импорта и еще много важного и интересного.
  • 24 апреля
  • В новой сборке совершили революцию в структурировании кастомизированной информации в шаблонах, добавили авторегистрацию пользователей, усовершенствовали защиту от спама, актуализировали накопительную скидку, а также улучшили производительность и стабильность работы системы.
  • 12 января
  • После выхода сборки 7.1 мы выпустили уже три патча, в каждом из которых улучшаем административную часть сайта. Сборка DIAFAN.CMS 7.1.3 уже доступна к установке. 

Форум