Автор Тема: Как сменить позицию товара  (Прочитано 2383 раз)

15 Ноября 2014, 20:56:04
  • Пользователь
  • **
  • Сообщений: 60
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Как сменить позицию товара ? 

У всех стоит позиция НОЛЬ. 

Не вижу где сменить.

В Store Manager не нашел.
В Admin тоже не нашел.
15 Ноября 2014, 20:58:47
Ответ #1
  • Ветеран
  • *****
  • Сообщений: 13452
  • Репутация: +14561/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Что такое - позиция товара?
15 Ноября 2014, 21:17:03
Ответ #2
  • Ветеран
  • *****
  • Сообщений: 33010
  • Репутация: +26761/-0
    • Просмотр профиля
Может быть позицию у категории?
15 Ноября 2014, 23:24:12
Ответ #3
  • Пользователь
  • **
  • Сообщений: 60
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Очередность товара в каталоге.

16 Ноября 2014, 10:22:42
Ответ #4
  • Ветеран
  • *****
  • Сообщений: 13452
  • Репутация: +14561/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Сортировка определяется в коде а не полем в бд. Изменить можно в админке
Настройки > Товары
Нумерация страниц
Сортировать товары...
Сортировка...
16 Ноября 2014, 18:02:49
Ответ #5
  • Пользователь
  • **
  • Сообщений: 60
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Не сортировка, а конкретный порядок . 

Если включить фильтрация по категориям. То у каждого товара появится столбец Позиция. Она стоит у всех 1. Надо установить эти цифры.

Где ?
16 Ноября 2014, 18:21:29
Ответ #6
  • Ветеран
  • *****
  • Сообщений: 1010
  • Репутация: +2/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Чем отличается сортировка от конкретного порядка? Не понятно, что в итоге должно получиться?
На сайте товары выводятся по значению сортировки, в базе по ид, в админке тоже по ид, потом можно менять сортировку.
Так в чем проблема, что не устраивает? 
16 Ноября 2014, 18:41:59
Ответ #7
  • Пользователь
  • **
  • Сообщений: 60
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Я хочу чтобы товар А был 4ым, а товар Б был 8ым . Никакая сортировка мне так не сделает.

Зайдите в Категории - там есть Позиции и их можно просто перетаскивать. Вот надо чтобы с продуктами также.

Изменил количество товаров на главной с 10 на 30 и.... в Товарах при фильтрации по категориям появилась возможность сменить позицию перетаскиванием , но все глючит. Продуктов показывает только 14 , а не 30 и позиции меняются как хотят при перетаскивании. Некоторые не хотят в итоге менятся. Бардак.

И даже сортировка не работает на Homepage никакая.
17 Ноября 2014, 12:18:42
Ответ #8
  • Ветеран
  • *****
  • Сообщений: 13452
  • Репутация: +14561/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Чтобы с товарами брать и передвигать, нужно выделенный хостинг арендовать. При смене позиции происхрдит перезаписывание данные для все таблицы товаров. Если у вас сотни товаров, то объем данных будет большой. На вирт.хостинге будут проблемы, сервер может не справиться.
17 Ноября 2014, 12:21:44
Ответ #9
  • Ветеран
  • *****
  • Сообщений: 1010
  • Репутация: +2/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Чтото я не видел в prestashop поля Позиция у товара. Интересно, это в какой версии появилось?
17 Ноября 2014, 13:56:33
Ответ #10
  • Пользователь
  • **
  • Сообщений: 60
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
У нас обычный хостинг. Товаров штук 300.

Позиции появляются только при фильтрации по категориям.

Короче Feautered product ( категория Home ) вообще никак нельзя отсортировать - сплошной Random.
17 Ноября 2014, 15:04:42
Ответ #11
  • Модератор
  • Ветеран
  • *****
  • Сообщений: 86180
  • Репутация: +25412/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Сделайте меньше количестово товаров на одной странице.
17 Ноября 2014, 15:15:22
Ответ #12
  • Ветеран
  • *****
  • Сообщений: 13452
  • Репутация: +14561/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Позиция у товаров не может изменяться через Store Manager. Этот параметр учавствтвует в поиске и сохраняется только в сессии в значении фильтра.
Чтобы менять позиции при фильтрации, нужен большой объем памяти. Смените хостинг и все будет работать.
18 Ноября 2014, 13:09:22
Ответ #13
  • Пользователь
  • **
  • Сообщений: 60
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Производительность сервера не причем. Тут порядок.

Причина  в том что Позиция у большинства равна нулю. И это учитывается.
Например на первой странице 10 товаров. И из них у 8ми товаров позиция равна нулю. Есть еще 1 и 2. При редактировании в админке товаров ( с включенным фильтром по категории ) из списка товаров исчезают все товары с одинаковой позицией, кроме первой.

В SQL Позицию тоже не нашел, но ведь она точно есть и где-то хранится. Если бы она расчитывалсь просто по очередности в таблице не было бы 90% товара с позицией НОЛЬ

Другая причина - КЛОНИРОВАНИЕ товара. Почти все вводил клонирование товаров, поэтому позиция сохранилась наверно.
18 Ноября 2014, 13:40:35
Ответ #14
  • Ветеран
  • *****
  • Сообщений: 13452
  • Репутация: +14561/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Если вы лучше знаете структуру prestashop, то может подскажите в какой таблице хранится позиция товара?

Если не верите тому, что вам пишут, то проверьте. Это же просто, открыть файл AdminProductsController.php и найти там значение, которое передается при смене позиции (событие при выделении фильтра по категориям).
URL
location.href = 'index.php?controller=AdminProducts&token=xxxxxxx&filter_category...';пояснение в коде
// If products from all categories are displayed, we don't want to use sorting by position
if (!$id_category)
{
$this->_defaultOrderBy = $this->identifier;
if ($this->context->cookie->{$this->table.'Orderby'} == 'position')
...
ну и поиск по слову "position" в этом файле покажет функцию
public function ajaxProcessUpdatePositions()
{
Все что обнаружите в этом файле по "position" связанно с позицией категории и изображения.