1. Как настроить "Сортировать", что-бы сортировка товара изначально была по цене, от меньшей к большей?
2. Возможно ли убрать пункт сортировки "Производитель" ?

 
Обновлено 10 Фев 2015, 19:17
1. Чтобы сделать сортировку по цене, исправьте строку 440 в файле block_products_list.php:
$s->set_default_sorting(1, "asc");
на:
$s->set_default_sorting(2, "asc");

2. Чтобы избавиться от производителя, закомментируйте строку 464 в файле block_products_list.php:
$s->set_sorter(PROD_SORT_MANUFACTURER_MSG, "sorter_manufacturer", "3", "m.manufacturer_name, i.item_id", "m.manufacturer_name, i.item_id", "m.manufacturer_name DESC, i.item_id");
Обновлено 11 Фев 2015, 13:00
Сделал изменения, которые по умолчанию выводят товары по цене (метод Дебагер - пункт 1). Работает до первых страниц с товарами, потом, выдает ошибку. Как исправить?
Сейчас все вернул на дефол. Пробую исправить на локальном хосте. Возможно ошибка в синтаксисе, где, пока не нашел.
Обновлено 12 Окт 2015, 14:04
Ошибка в самом конце SQL-запроса:
SQL code:
AND i.item_id IN ()
В скобках не должно быть пусто. Либо такого условия вобще не должно быть. Не думаю, что причина ошибки - в смене сортировки по умолчанию. В запросе даже нет команды сортировки ORDER BY.
Верно, ошибка не в сортировки. Проблема в том, что если товары в каталоге фильтруются по умолчанию - все отлично. Как только я хочу сделать:
PHP code:
$s->set_default_sorting(2, "asc");
То сразу после нескольких страниц в каталоге эта ошибка. И самое интересное, что проблема у меня на дефолтной версии 1.2 (билд 3859).
Ответа не дождался. Заказал решение этой проблемы у стороннего разработчика.
Разрабочик сделал, как я и хотел. Он кроме этого подтвердил, что ошибка была в движке - помоему в фильтре производителей.
Спалите контакт разработчика. Нужно в дефолтовой сортировке сделать, чтобы товары которых нет в наличии уходили в низ категории.
Или может кто подскажет, как сие поправить. Не красиво, когда товары, которых нет в верху списка. 
Дровке сделать, чтобы товары которых нет в наличии уходили в низ категории.
В общем случае - внести в sql-запрос в ORDER BY самым первым условием field=0, где field это имя поля с количеством товара.
Например, пусть количество товара это in_stock, название это name и сортировка у нас по названию (ORDER BY name).
Тогда сортировка ORDER BY in_stock=0,name задвинет товары с нулевым количеством в конец списка, т.к. условие in_stock=0 будет преобразовываться либо в 0 (false, товар есть на складе), либо в 1 (true, товара нет на складе). Сортировка же в пределах имеющихся на складе (и не имеющихся) товаров останется той же, по name.
Банально, но, думаю, многим поможет.
Круто, но ничего не понятно. Вроде обязательный функционал, а в штаной реализации нет. В битриксе за несколько минут настраивается, тут пхп изучать походу надо