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


Фотография
- - - - -

Произвольная сортировка каталога с фронта. ХАК. Делаем сами.

сортировка

Сообщений в теме: 12

#11 mr.varhola

mr.varhola

Отправлено 26 October 2019 - 04:45

К сожалению нет.

и так тоже нет:

  1. $order[field] = 'e2f56125-d1af-4772-9890-742c61e026ac,corecreated';
  2. $order[mode] = 's,s';
  3. $order[order] = 'asc,desc';

для фильтра получается можно выбрать сортировку только по одному параметру и все.


Если у кого-то есть варианты добавления дополнительного параметра сортировки для фильтра - буду очень благодарен)


  • 0

#12 CB9TOIIIA

CB9TOIIIA

Отправлено 26 October 2019 - 16:02

как вариант попробовать разные варианты с URL прямо в браузере - а потом закодить дело сноровки)


  • 0

#13 triode-master

triode-master

Отправлено 20 August 2021 - 22:38

Рецепт работает.

Есть нюансы, когда вставляем в Открываем файл media\zoo\applications\jbuniversal\framework\controllers\search.php

  1. //Блок сортировок для фильтра---------------------------------------------
  2. //jbdump ($order,0); //Используйте эту строку, если у вас подключен JBdump
  3. //echo '<pre>';print_r ($order);echo '</pre>'; //Используйте эту строку, если у вас не подключен JBdump покажет значения выбраной сортировки
  4. //print 'Текущее значение сессии сортировки: '.$_SESSION['orderkit']; //Посмотреть текущее значение сессии для сортировки
  5. if ($this->app->zoo->getApplication()->id == 1) { //проверяем в каком приложении мы находимся
  6. if ($_SESSION['orderkit'] == "") {$_SESSION['orderkit'] = 'price_asc';} //устанавливаем значение сортировки по умолчанию.
  7. //Получаем переменную для направления сортировки
  8. if (isset($_GET['orderkit'])) { $_SESSION['orderkit'] = $_GET['orderkit'];} //Меняем сортировку, если есть ключ в URL
  9. if (isset($_SESSION['orderkit'])) {
  10. switch ($_SESSION['orderkit']) {
  11. case 'price_asc':
  12. $order[field] = '01ab859d-e9ce-42a3-b24b-4d11422bba90___value';
  13. $order[mode] = 'n';
  14. $order[order] = 'asc';
  15. break;
  16. case 'price_desc':
  17. $order[field] = '01ab859d-e9ce-42a3-b24b-4d11422bba90___value';
  18. $order[mode] = 'n';
  19. $order[order] = 'desc';
  20. break;
  21. case 'popular_desc':
  22. $order[field] = '_jbzoo_0_field_corehits';
  23. $order[mode] = 'n';
  24. $order[order] = 'desc';
  25. break;
  26. case 'date_asc':
  27. $order[field] = 'corecreated';
  28. $order[mode] = 'd';
  29. $order[order] = 'asc';
  30. break;
  31. case 'date_desc':
  32. $order[field] = 'corecreated';
  33. $order[mode] = 'd';
  34. $order[order] = 'desc';
  35. break;
  36. }
  37. }
  38. }

То получаем варнинги

Use of undefined constant mode - assumed 'mode' (this will throw an Error in a future version of PHP)

чтобы от них избавится , надо во всех case сделать так $order['field'].

Ну собственно о чем и говорит пояснение ошибки.

Просто это из-за того что у меня php 7.3, а код был написан на более ранней версии.

 

И по личным предпочтениям то что надо поместить в media\zoo\applications\jbuniversal\templates\catalog\category.php 

я переместил /media/zoo/applications/jbuniversal/templates/catalog/renderer/category/_default.php

к заголовку


Сообщение отредактировал triode-master: 20 August 2021 - 22:39

  • 1





Темы с аналогичным тегами сортировка

Click to return to top of page in style!