Перейти к содержанию
sh2000v

[Решено] Модуль "Последние поступления"

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

Всем добрый день!

Родной модуль в версии OcStore1.5.4.1 "Последние поступления" выводит новые товары. Но, к сожалению, поставщик часто в прайс включает новые позиции, которых ещё нет на складе. В результате получается, что в блок "Новые поступления"  попадают товары, которых нет в наличии.

 

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

Поделиться сообщением


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

Всем добрый день!

Родной модуль в версии OcStore1.5.4.1 "Последние поступления" выводит новые товары. Но, к сожалению, поставщик часто в прайс включает новые позиции, которых ещё нет на складе. В результате получается, что в блок "Новые поступления"  попадают товары, которых нет в наличии.

 

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

в файле catalog/model/catalog/product.php

 

в методе public function getLatestProducts($limit) {

это:

$query = $this->db->query("SELECT p.product_id FROM " . DB_PREFIX . "product p LEFT JOIN " . DB_PREFIX . "product_to_store p2s ON (p.product_id= p2s.product_id) WHERE p.status = '1' AND p.date_available <= '" . $this->NOW . "' AND p2s.store_id = '" . (int)$this->config->get('config_store_id') . "' ORDER BY p.date_added DESC LIMIT " . (int)$limit);

заменить на

$query = $this->db->query("SELECT p.product_id FROM " . DB_PREFIX . "product p LEFT JOIN " . DB_PREFIX . "product_to_store p2s ON (p.product_id= p2s.product_id) WHERE p.status = '1' AND p.date_available <= '" . $this->NOW . "' AND p.quantity > 0 AND p2s.store_id = '" . (int)$this->config->get('config_store_id') . "' ORDER BY p.date_added DESC LIMIT " . (int)$limit);
Изменено пользователем costas
  • +1 1

Поделиться сообщением


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

Заменил - всё равно выводит товар со статусом нет в наличии.

Моуль "Последние поступления" удалял и снова ставил, кеш чистил - не помогает.

Изменено пользователем afwollis

Поделиться сообщением


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

Подтверждаю, хоть и SQL запрос верен, ситуация не меняется, где то сидит кеш.

Поделиться сообщением


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

Моуль "Последние поступления" удалял и снова ставил, кеш чистил - не помогает.

Отвечу и себе и вам :) Решение выше - неправильное. Функция getLatestProducts никогда и никем не вызывается. На самом деле нужно сделать следующее:

1)

В файле \catalog\model\catalog\product.php найти метод поиска товара getProducts

 

и выше этой строки

 
$sql .= " GROUP BY p.product_id";

вставить следующий код:

 
if (!empty($data['in_stock'])) {$sql .= " AND p.quantity > 0";}
2) В файле \catalog\controller\module\latest.php найти 
$data = array('sort'  => 'p.date_added','order' => 'DESC','start' => 0,'limit' => $setting['limit']);
и заменить на
$data = array('sort'  => 'p.date_added','order' => 'DESC','start' => 0,'in_stock' => 1,'limit' => $setting['limit']);
 
Все!
  • +1 1

Поделиться сообщением


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

Спасибо, попробую - отпишу о результате.

Изменено пользователем afwollis

Поделиться сообщением


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

Спасибо, попробую - отпишу о результате.

Отправлено 14 Декабрь 2013 - 09:20

 

С тобой там всё нормально? Ато говорил что отпишешься... Я переживаю(((

Поделиться сообщением


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

Здравствуйте, профессионалы! Подскажите, пожалуйста, где поменять словосочетание "Новые поступления" к примеру на "Недавние поступления"? Заранее спасибо за ответ.

Поделиться сообщением


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

В языковом файле

 

module/latest.php

Поделиться сообщением


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

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

Поделиться сообщением


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

никак. нет такой возможности.

Поделиться сообщением


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

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

Можно, только нужно доработать модуль напильничком.

 

В файле контроллера catalog/controller/module/latest.php

найти строку 

'sort'  => 'p.date_added',

и заменить ее на

'sort'  => 'p.date_available',

Ну и периодически заходить в админку и менять дату добавления товара.

Поделиться сообщением


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

тогда это уже не "новинки"/"последние поступления".

да и постоянно надо менять данные в товарах.

Поделиться сообщением


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

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

У самого были ситуации, когда товар был добавлен летом, затем пропал из продажи. Осенью появился снова, и да - это в какой то мере новинка, нужно на морде сказать покупателю, что товар снова в наличии. Зашел, добавил количество, подкрутил дату на сегодняшнюю. Все довольны.

 

Случай второй - владелец магазина импортировал в базу 10 товаров от поставщика Т1...Т10, но в наличии у него только пришло Т2, Т4 и Т5. Что будет отображать модуль? Правильно: Т10, Т9, Т8 и Т7. А что хочет продавец? Да скорее всего Т2, Т5 и Т4, т.к. они у него есть в наличии. Через неделю поставщик подвез еще 3 товара: Т1, Т10 и Т8. Продавец хочет видеть на сайте Т1, Т10, Т8 и Т2. А увидит? Все те же Т10, Т9, Т8 и Т7...

Так что желание вполне себе законное и реальное, а использование в выборке "внутреннего" поля БД date_added, а не поля предметной области date_available в данном модуле имхо нелогично.

Поделиться сообщением


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

Приветствую всех, подскажите, пожалуйста, почему этот модуль может перестать выводить новые товары? вот наш сайт http://yarisuyu.com/raskraski-na-zakaz, слева он фигурирует, но уже куча товара добавлено нового, а он их не обрабатывает. что проверить? буду очень признателен совету.

Поделиться сообщением


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

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Похожий контент

    • От SergeTkach
      Модуль отображает стикеры для товаров во всех стандартных модулях и на всех стандартных страницах системы OpenCart. Для дополнительных модулей или нестандартных шаблонов — может понадобиться адаптация, которая оплачивается отдельно.
       
      ОСОБЕННОСТИ:
      IonCube Loader не нужен! Автоматические стикеры вешаются на товары, которые показываются в модулях «Рекомендуемые», «Последие», «Акции», «Хиты продаж»). Есть стикеры с процентом скидки товара (можно выбрать расчет суммы скидки или просто слово «Акция») Каждый стикер может иметь произвольное название Можно выбирать цвет для фон стикера Можно выбирать форму стикера (в данный момент круг или указатель) Подходит для шаблонов со стандартным кодом в списках товаров. Если шаблон отличается, то адаптация оплачивается отдельно  
      УСЛОВИЯ ПОКУПКИ И ИСПОЛЬЗОВАНИЯ
      На каждый домен предполагается отдельная лицензия Модуль используется как есть. Покупка означает, что Вы ознакомились с демо-версией модуля и работой модуля Автор дает гарантию на работоспособность заявленного функционала и обязуется исправить ошибки в случае обнаружения в течение 3 рабочих дней с момента сообщения об ошибке. Поддержка модуля для сайтов, на которые не куплена лицензия не осуществляется  
      СОВМЕСТИМОСТЬ:
      OpenCart: 2.1.0.2 и выше
      ocStore: 2.1.0.2.1 и выше
       
      ДЕМО МОДУЛЯ
      Логин/Пароль: demo/demo Страница категории товара - http://sticker-ru.sergetkach.com/index.php?route=product/category&path=20 Настройки модуля - http://sticker-ru.sergetkach.com/admin/index.php?route=extension/module/sticker  
      ЕЩЕ 1 ОЧЕНЬ ПОЛЕЗНЫЙ МОДУЛЬ ДЛЯ СУЩЕСТВЕННОГО ОБЛЕГЧЕНИЯ РАБОТЫ С ТОВАРАМИ
      Напоминаю, что недавно я выпустил еще один интересный модуль Handy Product Manager для удобной работы с товарами в OpenCart, наподобие как в xls, но только намного лучше.
       
      ОБЪЯСНЕНИЕ НЮАНСОВ РАБОТЫ МОДУЛЯ В ПЛАНЕ АВТОМАТИЧЕСКИХ СТИКЕРОВ
      Модуль поддерживает автоматическое размещение стикеров на товары. Что это значит?
      В OpenCart есть стандартные модули, которые выделяют блоки товаров: «Рекомендуемые», «Последие поступления», «Акции», «Хиты продаж». Как только товар попадает в такой модуль, на него автоматически «цепляется» соответствующий стикер. Метка стикера попадает в базу данных и закрепляется за товаров. В итоге, такой стикер показывается на товаре и в списке категорий, и в других списках с товарами, и на странице самого товара.
      Такие стикеры, которые вешаются автоматически, можно назвать системными.
      При создании стикеров в настройках модуля следует иметь ввиду, должнен ли стикер размещаться автоматически. Если да, то для него необходимо выбрать один из следующих Типов стикера:
      Хиты продаж (модуль bestseller) Рекомендуемые (featured) Новые поступления (latest) Акции (special) Важно, чтобы Название стикера и Тип стикера передавали один и тот же смысл. Для примера, стикер можно можно назвать «Хит!» и выбрать для него Тип стикера «Хиты продаж» (bestseller).
      Кроме этого, есть Тип стикера «Произвольный стикер». Такой стикер не связан с каким-либо системным модулем. Он помещается на товар вручную. При этом для такого стикера обязательно прописывать Алиас.
       

       
      Что будет, если товар перестал показываться в системном модуле?
      К примеру, раньше товар был среди рекомендуемых, а теперь его убрали из этого модуля. В таком случае стикер остается на товаре и продолжает отображаться на странице категории и любых других блоках с товарами.
      Если от стикера необходимо избавиться, необходимо зайти в админку и убрать с него галочку.
       
      Почему в админке нет стикера «Акция»?
      Потому что данный стикер показыается только тогда, когда для товара есть действующая акционная цена. То есть, такой стикер при автоматической обработке не закрепляется за товаром, а рассчитывается при каждом запросе товаров.
       
      Почему не все новые товары получают стикер «Новинка» автоматически?
      Пример: На сайт добавили 100 новых товаров, а в блоке «Последние поступления» показывается только 20 последних из них. В итоге получается, что автоматически стикер «Новинка» размещен только на этих 20 товарах. Почему так происходит?
      Дело в том, что слово latest в названии системного модуля означает НЕ то же самое, что «Новинка».
      Модуль latest отображает именно последние добавленные товары, даже если они было добавлены 2 года назад. Согласитесь, что в таком случае их сложно называть новыми. Однако, в большинстве магазинов поставки происходят чаще, чем раз в 2 года. Поэтому логично, что последние товары зачастую бывают действительно новыми.
      Для разрешения спорного момента в модуле стикеров есть дополнительная настройка «Вешать ли стикер "Latest" на товары автоматически на основе даты?» Там же выставляется кол-во дней с даты добавления, когда товар будет считаться новинкой.
      При включенной настройке, если товар действительно новый (а не просто последний добавленный), то на таком товаре отображается стикер «Новинка». При этом такой стикер не попадает в базу данных и по истечении установленного кол-ва дней перестает отображаться на товаре.
      Внимание!
      Новизна товара определяется полем `date_added` в таблице `product` в базе данных. Это важно иметь ввиду разработчикам, при организации импорта товаров.

    • От sergiussv
      300.00 руб
      Скачать/Купить дополнение


      2в1 Случайные и новинки с привязкой к категории и производителю 1.5.Х
      Комплект из двух модулей
      Данные модули выводят случайные товары и последние поступления с привязкой к категории или производителю, в схеме продукта определяет главную категорию продукта и выводит товары по ней, на других схемах выводит товары без привязки к категориям. Не выводит товары только в списке производителей. Во всех остальных схемах работает.
      Дополнительные возможности (настраивается в админчасти):
      1. Изменения заголовка для каждой схемы (мультиязычный)
      2. Можно не выводить товары количество которых на складе 0
      3. Можно не выводить цену товара
      4. Можно не выводить рейтинг
      5. Можно не выводить кнопку "Купить"
      Два варианта с отдельным файлом CSS и без.
      Данные кэшируются.
      Данный модуль совместим с ocStore 1.5.X
      Установка:
      DEMO: http://demo.lucky-purse.ru
      DEMO Admin: http://demo.lucky-purse.ru/admin
      логин и пароль: demo
      Добавил sergiussv Добавлено 14.01.2014 Категория Модули  
    • От sergiussv
      Комплект из двух модулей
      Данные модули выводят случайные товары и последние поступления с привязкой к категории или производителю, в схеме продукта определяет главную категорию продукта и выводит товары по ней, на других схемах выводит товары без привязки к категориям. Не выводит товары только в списке производителей. Во всех остальных схемах работает.
      Дополнительные возможности (настраивается в админчасти):
      1. Изменения заголовка для каждой схемы (мультиязычный)
      2. Можно не выводить товары количество которых на складе 0
      3. Можно не выводить цену товара
      4. Можно не выводить рейтинг
      5. Можно не выводить кнопку "Купить"
      Два варианта с отдельным файлом CSS и без.
      Данные кэшируются.
      Данный модуль совместим с ocStore 1.5.X
      Установка:
      DEMO: http://demo.lucky-purse.ru
      DEMO Admin: http://demo.lucky-purse.ru/admin
      логин и пароль: demo
    • От Dimdimych
      При наполнении нового магазина столкнулся с такой проблемой: товары добавлял в разнобой и теперь необходимо в модуле "Последние поступления" вывести последними другие товары. Думал, что если при редактировании товара изменить "Дату поступления" на более новую, то и в модуле они отсортируются как последние - ДА НЕ ТУТ-ТО БЫЛО! Кеш сайта и браузера чистил, но ничего не помогло - стоят как вкопанные! Я так понял, что отображение товаров в модуле "Последние поступления" происходит не по дате, а по ID товара.
      Кто знает, подскажите - КАК СДЕЛАТЬ ДОБАВЛЕНИЕ ТОВАРОВ В ЭТОТ МОДУЛЬ ПО ДАТЕ ПОСТУПЛЕНИЯ, А НЕ ПО ID???
  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.