Jump to content
Sign in to follow this  
alinalessioYandex

[РЕШЕНО] Порядок сортировки товаров в админке. Как менять не открывая каждый товар?

Recommended Posts

Сейчас в админке, каталог/товары/изменить товар на вкладке "Данные", для каждого товара, надо назначать порядок сортировки. Если этого не сделать, то на витрине, в категориях, товары будут показываться в перемежку и теряться в пагинации.

 

Проблема в том, что занес очень много товаров и забыл для каждого из них ставить порядок сортировки.

 

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

 

В идеале, на будущее, было бы хорошо, чтобы каждому новому товару, который заносится уже присваивался порядковый номер сортировки.

 

Кто-нибудь сталкивался? Решил как-то? Или решения нет и все же придется залазить в каждый товар?

Share this post


Link to post
Share on other sites

Пытаюсь через phpmyadmin экспортировать таблицу "product" в формате Excel и там для всей колонки "sort_order" применяю порядковые номера ко всем продуктам. Но потом просто обратно не импортируется в базу.

 

Помогите пожалуйста. Очень не хочется перебивать вручную такую кучу товаров. Уверен есть способ это как-то автоматизировать.

 

Может я не совсем понятно написал. Спросите что не понятно и попробую объяснить по другому, только помогите пожалуйста.

Share this post


Link to post
Share on other sites

sort_order = product_id устроит?

в phpmyadmin ({DB_PREFIX} - ваш префикс)

UPDATE `{DB_PREFIX}product` SET `sort_order` = `product_id` WHERE `product_id` > '0'

В идеале, на будущее, было бы хорошо, чтобы каждому новому товару, который заносится уже присваивался порядковый номер сортировки.

[=== admin/model/catalog/product.php ===]

public function addProduct($data) {
...
$product_id = $this->db->getLastId();

// auto sort_order = product_id
$this->db->query("UPDATE " . DB_PREFIX . "product SET sort_order = '" . (int)$product_id . "' WHERE product_id = '" . (int)$product_id . "'");
  • +1 2

Share this post


Link to post
Share on other sites

Вот спасибо, добрый человек!!! Выручил!
 
Такую полезную информацию для людей оставил! Уверен многие воспользуются этой технологией, для сортировки уже существующих товаров и избавит от бестолковых лишних движений, задавать каждому товару свой номер. (Для меня остается загадкой, почему в движке по умолчанию эта сортировка не может настраиваться так, как показал afwollis. Может все же для чего-то нужна ручная сортировка, только я не понял для чего?)

Share this post


Link to post
Share on other sites

Присоединяюсь к благодарности. Тоже выручило в трудную минуту.

Share this post


Link to post
Share on other sites

подскжите, плз, что делает первый и второй коды?
присваивает каждому товару порядок сортировки, равный его id?
а второй - просто при добавлении нового товара, присваивает ему автоматом в поле сортировки значение из его id?
если так, то, мне кажется, это тоже не совсем корректно делать (для меня)
тоже столкнулся с проблемой сортировки в магазине.
мне бы, по идее, хотя бы задать всем товарам порядок сортировки, допустим, "-1000"
прокатит ли такое:

UPDATE `{DB_PREFIX}product` SET `sort_order` = `-1000`

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

Share this post


Link to post
Share on other sites

DB_PREFIX - это где простите?

phpmyadmin насколько я понимаю это регулятор баз данных, а дальше всё обрыл и DB_PREFIX не нашел.

Подскажите пожалуйста

Share this post


Link to post
Share on other sites

Raensul,

UPDATE `{DB_PREFIX}product` SET `sort_order` = '9999999'
Lupuslex,

DB_PREFIX в config.php вашего магазина

  • +1 1

Share this post


Link to post
Share on other sites

Сейчас в админке, каталог/товары/изменить товар на вкладке "Данные", для каждого товара, надо назначать порядок сортировки. Если этого не сделать, то на витрине, в категориях, товары будут показываться в перемежку и теряться в пагинации.

 

Проблема в том, что занес очень много товаров и забыл для каждого из них ставить порядок сортировки.

 

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

 

В идеале, на будущее, было бы хорошо, чтобы каждому новому товару, который заносится уже присваивался порядковый номер сортировки.

 

Кто-нибудь сталкивался? Решил как-то? Или решения нет и все же придется залазить в каждый товар?

Скажите пожалуйста, на что влияет то что не устанавливал порядок сортировки в товаре? 

Share this post


Link to post
Share on other sites

Скажите пожалуйста, на что влияет то что не устанавливал порядок сортировки в товаре? 

Если значение сортировки не ставить, то:

Допустим у вас товаров в категории 100 шт. Пагинация настроена так, что на одной странице показывается не более 30 шт. товаров. Чтобы увидеть остальные, следует переходить по ссылкам пагинации, которые генерируются движком. Так пользователь посмотрел товары на первой странице, которые выводятся без сортировки как попало, потом жмет на вторую страницу, чтобы увидеть продолжение, но на второй странице товары снова становятся вперемежку и вместо того, чтобы на второй странице показать другие товары, пользователь может увидеть несколько новых товаров вместе с теми, которые он уже видел на первой странице. Случалось так, что если перелистать все страницы, можно так и не встретить некоторые товары, хотя они там точно есть, а некоторые товары встречать на каждой странице.

Чтобы этого не случалось, следует нумеровать товары. Так они выстроятся по порядку и каждый товар будет знать свое место.

  • +1 1

Share this post


Link to post
Share on other sites

Если значение сортировки не ставить, то:

Допустим у вас товаров в категории 100 шт. Пагинация настроена так, что на одной странице показывается не более 30 шт. товаров. Чтобы увидеть остальные, следует переходить по ссылкам пагинации, которые генерируются движком. Так пользователь посмотрел товары на первой странице, которые выводятся без сортировки как попало, потом жмет на вторую страницу, чтобы увидеть продолжение, но на второй странице товары снова становятся вперемежку и вместо того, чтобы на второй странице показать другие товары, пользователь может увидеть несколько новых товаров вместе с теми, которые он уже видел на первой странице. Случалось так, что если перелистать все страницы, можно так и не встретить некоторые товары, хотя они там точно есть, а некоторые товары встречать на каждой странице.

Чтобы этого не случалось, следует нумеровать товары. Так они выстроятся по порядку и каждый товар будет знать свое место.

Большое спасибо за расширенный ответ.

Share this post


Link to post
Share on other sites

Если значение сортировки не ставить, то:

Допустим у вас товаров в категории 100 шт. Пагинация настроена так, что на одной странице показывается не более 30 шт. товаров. Чтобы увидеть остальные, следует переходить по ссылкам пагинации, которые генерируются движком. Так пользователь посмотрел товары на первой странице, которые выводятся без сортировки как попало, потом жмет на вторую страницу, чтобы увидеть продолжение, но на второй странице товары снова становятся вперемежку и вместо того, чтобы на второй странице показать другие товары, пользователь может увидеть несколько новых товаров вместе с теми, которые он уже видел на первой странице. Случалось так, что если перелистать все страницы, можно так и не встретить некоторые товары, хотя они там точно есть, а некоторые товары встречать на каждой странице.

Чтобы этого не случалось, следует нумеровать товары. Так они выстроятся по порядку и каждый товар будет знать свое место.

Вот жеж блин, у меня тоже была такая проблема, он рандомно выводил товары. Товары с первой страницы могли повториться на второй и третьей странице и т.д. Но я решил эту проблему немного по другому, я изменил в файле category порядок сортировки по умолчанию, сделал по умолчанию сортировку по дате добавления товара, от свежих по убыванию, так правильнее всего. Может кому то этот вариант подойдёт больше. Можно сделать по алфавиту и т.д.

Share this post


Link to post
Share on other sites

Вот жеж блин, у меня тоже была такая проблема, он рандомно выводил товары. Товары с первой страницы могли повториться на второй и третьей странице и т.д. Но я решил эту проблему немного по другому, я изменил в файле category порядок сортировки по умолчанию, сделал по умолчанию сортировку по дате добавления товара, от свежих по убыванию, так правильнее всего. Может кому то этот вариант подойдёт больше. Можно сделать по алфавиту и т.д.

Ваше решение очень интересно. Приведите пожалуйста пример кода. Как на примере изменить сортировку по дате?

Share this post


Link to post
Share on other sites

Подниму темку, тоже столкнулся с проблемой. Как сделать чтобы ВСЕМ новым товарам добавлялся например номер сортировки 99? Автоматически

Связано с тем что необходимо выводить единичные позиции первее других

Share this post


Link to post
Share on other sites
On 3/7/2015 at 11:35 AM, newbie2013 said:

Но я решил эту проблему немного по другому, я изменил в файле category порядок сортировки по умолчанию, сделал по умолчанию сортировку по дате добавления товара, от свежих по убыванию, так правильнее всего. Может кому то этот вариант подойдёт больше. Можно сделать по алфавиту и т.д.

Как вы это сделали?! 🙄🙄

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
You are posting as a guest. If you have an account, please sign in.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.