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

Создайте сайт прямо сейчас!

Зарегистрируйтесь по ссылкам и получите дополнительные бонусы при создании сайта



  • Персональный перечень способов заработка на сайте именно вашей тематики
  • Аудит юзабилити сайта бесплатно $20
  • Набор скриптов на сумму $40 для увеличения продаж
  • Аудит юзабилити интернет магазина бесплатно $60

Как получить бонусы?


Как только вы создадите сайт по одной из указанных ссылок, я увижу это в отчете партнерской программы:

После оплаты одного из пакетов, отправьте запрос на info@ucozmagazines.ru с указанием адреса созданного сайта.

Сортировка товаров на странице заказа с помощью tablesorter

О чем здесь?

Сортировка товаров на странице заказа с помощью tablesorter позволит покупателям выстраивать товары по наименованию, категории, количеству, цене, сумме и другим полям.

Мы воспользуемся плагином tablesorter.

Зачем это нужно?

Решение отлично подойдет магазинам с большим количеством позиций в заказах. В некоторых случаях удобно сортировать товары в корзине по артикулу или цене.

Кроме того, мы подключим сортировку и для страниц заказов, что обеспечит дополнительное удобство при подготовке заказов к отправке.

Настройка полей товаров

Зайдите в панель управления и в разделе «Интернет-магазин» найдите пункт «Управление полями заказа»:

Управление полями заказа

На открывшейся странице выберите поля, которые будут отображаться в таблице с товарами и по которым пользователи смогут выполнять сортировку:

Управление полями заказа

Если испытываете трудности, посмотрите урок про поля заказа.

Подключение скрипта

Теперь подключим скрипт в следующих шаблонах:

  • Страница служебных форм. При условии $PAGE_ID$ = 'checkout'
  • Страница заказа

Подключать будем после $BODY$ в любом удобном месте.

<script type="text/javascript" src="/js/jquery.tablesorter.js"></script>
<script>
$(document).ready(function(){ 

 // Перенесем последнюю строку таблицы, так как она не является товаром
 var summ = $("#order-table>table>tbody>tr:last-child").html();
 $("#order-table>table>tbody>tr:last-child").remove();
 $("#order-table").after("<table>" + summ + "</table>");

 // Запускаем работу плагина для таблицы с товарами
 $("#order-table>table").tablesorter({sortList: [[0,0]]}); 

 }); 
</script>

Еще потребуется добавить стили, чтобы заголовки таблиц отображались корректно и давали информацию о том, по какой колонке выполнена сортировка в данный момент. Для этого можно использовать классы .headerSortUp и .headerSortDown, которые плагин добавляет автоматически:

.headerSortUp::after {
 content: "↓";
}
.headerSortDown::after {
 content: "↑";
}
th.header {
 cursor: pointer;
}
Плагин tablesorter для интернет магазина uCoz

Еще для th.header мы задали смену иконки курсора. Так пользователь станет ясно, что на заголовок таблицы можно нажать.

Статьи по теме

Сергей    31.08.2016    5545    5.0 из 5.0 (3)

Оцените материал:

Обсуждение

Всего комментариев: 12

L
1
Кодировка у "демо" слетела, у меня иероглифы показывает.
avatar
1
2
Спасибо за информацию. А сейчас?
L
5
сейчас как надо =)
s
3
Спасибо, штука полезная. К сожалению, по цене и сумме сортирует некорректно. Видимо, считает эти поля строками.
avatar
1
4

Код
<script>
  $(document).ready(function(){  
  
  // Перенесем последнюю строку таблицы, так как она не является товаром
  var summ = $("#order-table>table>tbody>tr:last-child").html();
  $("#order-table>table>tbody>tr:last-child").remove();
  $("#order-table").after("<table class=\"order-summ\">" + summ + "</table>");
  
  // Запускаем работу плагина для таблицы с товарами
  $("#order-table>table").tablesorter({sortList: [[0,0]],
  headers: {
  6: { sorter: 'digit' },
  8: { sorter: 'digit' },
  10: { sorter: 'digit' }
  }
  });  
  });  
  </script>

6, 8, 10 - это номера столбцов, которые нужно сортировать как числа
avatar
6
Спасибо Сергей. Красотище!
avatar
0
7
Думаю, скрипту без разницы, скрыт он или нет. Нумерация, кстати с единицы, а не с нуля.
avatar
8
Делаю как в описании, у меня не выходит
k
9
Можно ли сортировать в уже оформленном заказе, по дополнительному полю например этаж, как это сделать?
avatar
0
10
Заведите доп.поле у товара и в таблице заказов включите отображение этого поля
Х
11
Здравствуйте!! Не добавляется колонка категория в странице заказа, и  можно ли распечатать заказ в отсортированном виде?
avatar
0
12
Здравствуйте! Насчет колонки категорий где-то ошибка, должна добавляться без проблем. Что касается распечатки в отсортированном виде, то данный скрипт этого не предусматривает.
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Сортировка товаров на странице заказа с помощью tablesorter
Сортировка товаров на странице заказа с помощью tablesorter