Перейти к содержанию
Форум поддержки пользователей VamShop

Сортировка по коду товара и по наличию


Сергей Терлеев

Рекомендуемые сообщения

Сергей Терлеев

Как можно сделать так, чтобы при просмотре списка товаров в категории товары по умолчанию сортировались по наличию (не по количеству, а именно по наличию) и дополнительно по коду товара:

то есть в категории первыми отображались товары, которые есть в наличии (без учета количества на складе, просто "есть" или "нет"), и они были бы отсортированы по коду товара, по возрастанию,

а затем были все товары, которых нет в наличии, и тоже отсортированные по коду по возрастанию?

Пример:

_http://www.micromachine.ru/index.php?cPath=10_1003&sort=2a&page=2

И как можно сделать колонку "склад" с отображением картинок: "много", "мало", "нет" и т. д, как на вышеуказанном сайте.

Спасибо.

Ссылка на сообщение
Поделиться на другие сайты

В файле /includes/modules/default.php замените:


    $sorting = ' ORDER BY '.$sorting_data['products_sorting'].' '.$sorting_data['products_sorting2'].' ';

[/code] на:
[code]
    $sorting = ' ORDER BY p.products_model, p.products_quantity ';

Ссылка на сообщение
Поделиться на другие сайты
Сергей Терлеев

В файле /includes/modules/default.php замените:


    $sorting = ' ORDER BY '.$sorting_data['products_sorting'].' '.$sorting_data['products_sorting2'].' ';

[/code] на:
[code]
    $sorting = ' ORDER BY p.products_model, p.products_quantity ';

Не получилось.

по коду товара сортирует, а по наличию нет.

Ссылка на сообщение
Поделиться на другие сайты

Если по наличию, т.е. по количествоу на складе, то нужно вот так:


$sorting = ' ORDER BY p.products_quantity ';
[/code]

Ссылка на сообщение
Поделиться на другие сайты
Сергей Терлеев

Если по наличию, т.е. по количествоу на складе

НЕ по количеству, а по наличию нужно: Условие или "есть в наличии" или "нет в наличии".

А количество игнорировать при сортировке.

Ссылка на сообщение
Поделиться на другие сайты

В смысле, products_status может иметь значение 1 (есть в наличии) или 0 (нет в наличии), как сделать сортировку!?

Я не совсем что-то понимаю, можно разве что что б сначала шли товары активные, затем неактивные, нужно заменить на:


$sorting = ' ORDER BY p.products_status ';
[/code]

Ссылка на сообщение
Поделиться на другие сайты
Сергей Терлеев

p.products_status - это значение не изменяется автоматически, а мне нужно, чтобы товар, когда он заканчивается на складе уходил в самый конец списка автоматически.

Ссылка на сообщение
Поделиться на другие сайты

Тогда как я и говрил выше, нужно сортировать по p.products_quantity, т.е. по киолчеству на складе.

Ссылка на сообщение
Поделиться на другие сайты
Сергей Терлеев

Если

$sorting = ' ORDER BY p.products_quantity, p.products_model ';

то сортирует по количеству на складе

если

$sorting = ' ORDER BY p.products_model, p.products_quantity ';

то по коду товара

а мне необходимо чтобы:

сначала были все товары которые есть в наличии (не зависимо от количества на складе) отсортированные по коду, а затем все товары, которых нет в наличии, тоже отсортированные по коду.

Ссылка на сообщение
Поделиться на другие сайты

Попробуйте:


$sorting = ' ORDER BY p.products_status, p.products_model ';
[/code]

Если не получится так, тогда я даже не знаю как правильно сделать то, что Вы хотите.

Ссылка на сообщение
Поделиться на другие сайты
Сергей Терлеев

Попробуйте:


$sorting = ' ORDER BY p.products_status, p.products_model ';
[/code]

Если не получится так, тогда я даже не знаю как правильно сделать то, что Вы хотите.

p.products_status - это то, что в админке озаглавлено как статус?

Но ведь неактивные товары совсем не отображаются в списке товаров? Или я не прав?

Ссылка на сообщение
Поделиться на другие сайты

Вообще да, неактивные не видны, т.е. не получится сделать их вывод.

Нужно тогда наверное удалять из sql запроса p.products_status = '1'

что б выводились абсолютно все товары.

Ссылка на сообщение
Поделиться на другие сайты
Сергей Терлеев

Нужно тогда наверное удалять из sql запроса p.products_status = '1'

что б выводились абсолютно все товары.

А можно с этого места чуть подробнее? Если не затруднит.

В каком файле что на что заменить\удалить?

Ссылка на сообщение
Поделиться на другие сайты

В /includes/modules/default.php удалить из sql запросов ($listing_sql .... который) это условие, тогда в списке товара будут все товары, в том числе и неактивные.

Ссылка на сообщение
Поделиться на другие сайты
Сергей Терлеев

А можно ли сделать, чтобы товары автоматом переходили в статус неактивных, когда их количество на складе = 0?

Ссылка на сообщение
Поделиться на другие сайты

Можно, в Админке - Настройки - Основные - Склад включить учёт склада.

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

Ссылка на сообщение
Поделиться на другие сайты
Сергей Терлеев

Потестил. Вылезла другая связанная проблема:

При просмотре списка товаров все как я хотел,

а при выборе неактивного товара невозмодно посмотреть описание товара, пишет:

"Товар не найден!"

Где исправить?

Ссылка на сообщение
Поделиться на другие сайты
  • 4 years later...

Меня как раз бы устроила сортировка по количеству. 1- есть в наличии. 0 - нет в наличии. При этом "нет в наличии" всегда автоматически были бы в конце списка товаров. Почему-то этот код:$sorting = ' ORDER BY p.products_quantity ';Не работает:((Как быть?

Ссылка на сообщение
Поделиться на другие сайты

Должен работать, Вы точно поменяли в нужном файле?!

Попробуйте так:


$sorting = ' ORDER BY p.products_quantity DESC';
[/code]

Ссылка на сообщение
Поделиться на другие сайты
×
×
  • Создать...