Перейти к содержимому


Сортировка товара в клиентской части


  • Вы не можете ответить в тему
Сообщений в теме: 36

#21 micehide

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 359 сообщений
Репутация: 124
Мастер

Отправлено 08 November 2012 - 11:21 AM

...то там всё отсортировано как надо, т.е. начинается с последнего добавленного товара.


...и первым становится последний добавленный...


Это не одно ли тоже, уважаемый?
По теме: учите язык SQL запросов (вам нужно прочитать про ASC и DESC)
  • 0

#22 Jeck2000

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 159 сообщений
Репутация: 8
Начинающий
  • ГородСанкт-Петербург

Отправлено 08 November 2012 - 12:00 PM

...то там всё отсортировано как надо, т.е. начинается с последнего добавленного товара.


...и первым становится последний добавленный...


Это не одно ли тоже, уважаемый?
По теме: учите язык SQL запросов (вам нужно прочитать про ASC и DESC)


Благодарю, не всегда необходимо читать то, что знаешь, а вот описАться ) может каждый. В общем правильный вариант, это

"Если выбираешь в пользовательской части в списке "новинки" он сортирует, но соответственно переворачивает список наоборот, и первым становится ПЕРВЫЙ добавленный и обратно к первому варианту списка сортировки уже не вернутся"
  • 0

#23 Jeck2000

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 159 сообщений
Репутация: 8
Начинающий
  • ГородСанкт-Петербург

Отправлено 12 November 2012 - 07:18 PM

Люди, подскажите пожалуйста как же сделать, чтобы он сортировал по Варианту "Новинки" правильно. НУ ведь сортирует же задом на перед, первыми выдаются самые старые товары. Неужели только у меня ?
  • 0

#24 micehide

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 359 сообщений
Репутация: 124
Мастер

Отправлено 19 November 2012 - 07:32 PM

Ну там же все предельно прозрачно, смотрите на генерируемую ссылку при сортировке, при чем можете исправлять ее прямо в адресной строке и сортировка будет меняться. Пункт "Новинки" генерирует такой запрос:
/index.php?categoryID=XXX&sort=sort_order&direction=DESC

Параметр sort - это конкретная колонка в таблице продуктов БД, новинки сортируются по полю "Сортировка", а нужно по date_added, вот и ошибка, которую нужно исправить... Вы самостоятельно можете отредактировать массив sort_arr с сортировками и сделать такие, как вам нужно...
  • 0

#25 badisoft

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 5075 сообщений
Репутация: 786
Мастер

Отправлено 11 July 2013 - 03:28 PM

Копался в category.php (где заменена штатная функция сортировки на выпадающий список) и удивили две строки в этой функции.
Толи я чего-то не понимаю, толи эти строки лишние. Переменная $sort_url нигде далее не используется.

if (isset($_GET["sort"]) && isset($_GET["direction"]))
$sort_url = '&sort='.$_GET["sort"].'&direction='.$_GET["direction"];

  • 1
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)

#26 l17l

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 106 сообщений
Репутация: -5
Начинающий

Отправлено 19 July 2013 - 07:39 AM

вопрос по теме, сделал как во втором посте, в каком файле находиться вывод данной сортировке ? хочу переставить в другое место и стиль прописать, искал в product_brief.tpl.html, там нет кода.

нашел, category.tpl.html
  • 0

#27 l17l

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 106 сообщений
Репутация: -5
Начинающий

Отправлено 19 July 2013 - 10:13 AM

Проблема, в ie ровно все, в мозиле то же, в опере нет, на скрине видно что текст ниже самой формы селект.
Сделал стиль, вписал туда.

vertical-align: middle;
height:18px;

все равно текст не выравнивается.

Прикрепленный файл  Безымян543534ный.jpg   341.74К   36 Количество загрузок:
  • 0

#28 Dbus

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 1116 сообщений
Репутация: 174
Мастер
  • ГородОдесса

Отправлено 19 July 2013 - 10:24 AM

попробуй добавить display:table-cell;

или играться с отступами и line-height
  • 0
502 Bad Gateway

#29 l17l

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 106 сообщений
Репутация: -5
Начинающий

Отправлено 19 July 2013 - 11:32 AM

с line-height: 22px; меняется, но так оно все двигается вместе с селектом и текст ! ) текст не по центру.
ни че не помогало, просто селекту сделал height: 16px; и нормально под текст сровнялся.
  • 0

#30 micehide

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 359 сообщений
Репутация: 124
Мастер

Отправлено 19 July 2013 - 08:43 PM

Копался в category.php (где заменена штатная функция сортировки на выпадающий список) и удивили две строки в этой функции.
Толи я чего-то не понимаю, толи эти строки лишние. Переменная $sort_url нигде далее не используется.


if (isset($_GET["sort"]) && isset($_GET["direction"]))
$sort_url = '&sort='.$_GET["sort"].'&direction='.$_GET["direction"];


- внатуре )))
  • 0

#31 nick_sat

    Новичок

  • Assistent vsupport.club
  • Pip
  • 6 сообщений
Репутация: 0
Начинающий

Отправлено 19 September 2014 - 10:47 AM

Подскажите пожалуйста. Сделал все как написано во втором посте но необходимо еще, чтоб при выборе сортировки по наличию можно было полученный результат отсортировать по названию (воз/убыв) или по цене (воз/убыв).
  • 0

#32 badisoft

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 5075 сообщений
Репутация: 786
Мастер

Отправлено 19 September 2014 - 11:51 AM

при выборе сортировки по наличию можно было полученный результат отсортировать по названию (воз/убыв) или по цене (воз/убыв).

Это уже ДВЕ сортировки одновременно. Можно несколько извратиться и элементами выпадающего меню сделать что-то типа "Наличие (цена, возр.)", т.е. в массив добавить элементы такого вида:

"Наличие (цена, возр.)" => array("sort" => "in_stock DESC,price", "direction" => "ASC")

И так далее - для убывания цены, для названия...
  • 0
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)

#33 nick_sat

    Новичок

  • Assistent vsupport.club
  • Pip
  • 6 сообщений
Репутация: 0
Начинающий

Отправлено 19 September 2014 - 12:36 PM

Добавил но тут как я понимаю это не прокатит из этого маcсива формируется строчка для обновления страниц и данных. При выборе строчки которую вы дали получается index.php?categoryID=356&show_all=yes&sort=in_stock%20DESC,price&direction=ASC (на локальной машине). И как я понял в строке броузера нельзя задать, чтоб сортировка была по двум параметрам. Т.е.
sort=in_stock%20DESC,price&direction=ASC - не работает
sort=in_stock&direction=DESC,price&direction=ASC- тоже
sort=in_stock&direction=DESC&price&direction=ASC- тоже
sort=in_stock,price&direction=ASC- и так не работает.

Или все же не правильно привели пример добавления элемента.
  • 0

#34 badisoft

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 5075 сообщений
Репутация: 786
Мастер

Отправлено 19 September 2014 - 12:58 PM

Добавил но тут как я понимаю это не прокатит из этого маcсива формируется строчка для обновления страниц и данных. При выборе строчки которую вы дали получается index.php?categoryID=356&show_all=yes&sort=in_stock%20DESC,price&direction=ASC (на локальной машине). И как я понял в строке броузера нельзя задать, чтоб сортировка была по двум параметрам

Да пофиг, хоть три параметра. Просто там еще сделана проверка, чтобы ушлый клиент чего лишнего не задал (SQL-инъекция).
В файле product_functions.php в функции prdSearchProductByTemplate надо после строки

$callBackParam["sort"] == "in_stock" ||

вставить строку

$callBackParam["sort"] == "in_stock DESC,price" ||

и другие соответствущие заданным в массиве параметрам строки.
  • 0
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)

#35 nick_sat

    Новичок

  • Assistent vsupport.club
  • Pip
  • 6 сообщений
Репутация: 0
Начинающий

Отправлено 19 September 2014 - 01:27 PM

Спасибо все получилось.
  • 0

#36 Jeck2000

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 159 сообщений
Репутация: 8
Начинающий
  • ГородСанкт-Петербург

Отправлено 07 February 2015 - 08:21 AM

Народ ,а не подскажете, как сделать так, чтобы в каталоге товаров, в админке, при открытии категории, товары автоматически сортировались не по имени, а по коду. (мне нужно , под технические задачи). Суть в том, что названия кодов (артикулов) у меня в одном проекте вида 1,2,3,4,5... и т.д. , т.е. фактически последовательная нумерация. Мне нужно, чтобы открытии, сортировка опиралась сразу на них от меньшего к большему. Можно нажать кнопку сортировки по нему, но если находишься на допустим на 20 странице товаров и редактируешь и сохраняешь товар на ней, то при выходе, сортировка опять сбивается на" по наименованию", а мне, по порядку, нужно редактировать следующий товар по нумерации кода и приходится его опять искать
  • 0

#37 badisoft

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 5075 сообщений
Репутация: 786
Мастер

Отправлено 07 February 2015 - 12:03 PM

Если устраивает, чтобы дефолтовая сортировка была одинакова в клиентской и админской части, то в функции settingCONF_DEFAULT_SORT_ORDER добавить строку

$sortlist[] = array("title"=>'По коду', "value"=>"product_code, name");

Если надо, чтобы по разному было, то либо cделать отдельную настройку дефолтовой кодировки для админки (это очень не сложно), либо в функции prdSearchProductByTemplateAdmin в строке

$order_by_clause = "order by ".CONF_DEFAULT_SORT_ORDER;

заменить "order by ".CONF_DEFAULT_SORT_ORDER на "order by product_code, name"
  • 1
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)