Перейти к публикации
  • разработка интернет магазинов на opencart
  • доработка интернет магазинов на opencart

отображение только товаров когдачество которых на склагде > 0


unkier
 Погделиться

Рекомендованные сообещёния

  • 1 месяц спустя...

в ..catalogmodelcatalogproduct.php

найти в функции getProductsByCategoryId:

$sql = "SELECT *, pd.name AS name, p.image, m.name AS manufacturer, ss.name AS stock, (SELECT AVG(r.rating) FROM " . DB_PREFIX . "review r WHERE p.product_id = r.product_id GROUP BY r.product_id) AS rating FROM " . DB_PREFIX . "product p LEFT JOIN " . DB_PREFIX . "product_description pd ON (p.product_id = pd.product_id) LEFT JOIN " . DB_PREFIX . "product_to_store p2s ON (p.product_id = p2s.product_id) LEFT JOIN " . DB_PREFIX . "manufacturer m ON (p.manufacturer_id = m.manufacturer_id) LEFT JOIN " . DB_PREFIX . "stock_status ss ON (p.stock_status_id = ss.stock_status_id) LEFT JOIN " . DB_PREFIX . "product_to_category p2c ON (p.product_id = p2c.product_id) WHERE p.status = '1' AND p.date_available <= NOW() AND pd.language_id = '" . (int)$this->config->get('config_language_id') . "' AND p2s.store_id = '" . (int)$this->config->get('config_store_id') . "' AND ss.language_id = '" . (int)$this->config->get('config_language_id') . "' AND p2c.category_id = '" . (int)$category_id . "'";

заменить на:

$sql = "SELECT *, pd.name AS name, p.image, p.quantity, m.name AS manufacturer, ss.name AS stock, (SELECT AVG(r.rating) FROM " . DB_PREFIX . "review r WHERE p.product_id = r.product_id GROUP BY r.product_id) AS rating FROM " . DB_PREFIX . "product p LEFT JOIN " . DB_PREFIX . "product_description pd ON (p.product_id = pd.product_id) LEFT JOIN " . DB_PREFIX . "product_to_store p2s ON (p.product_id = p2s.product_id) LEFT JOIN " . DB_PREFIX . "manufacturer m ON (p.manufacturer_id = m.manufacturer_id) LEFT JOIN " . DB_PREFIX . "stock_status ss ON (p.stock_status_id = ss.stock_status_id) LEFT JOIN " . DB_PREFIX . "product_to_category p2c ON (p.product_id = p2c.product_id) WHERE p.quantity > '0' AND p.status = '1' AND p.date_available <= NOW() AND pd.language_id = '" . (int)$this->config->get('config_language_id') . "' AND p2s.store_id = '" . (int)$this->config->get('config_store_id') . "' AND ss.language_id = '" . (int)$this->config->get('config_language_id') . "' AND p2c.category_id = '" . (int)$category_id . "'";
Ссылка на комменирий
Погделиться на других сайих


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

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


А кто ни будь знает как реализовать функцию чтоб можно было переключать с просмотра всех товаров на те что есть и обратно?может есть модуль по типу как модуль производители только сортирующий по ситусу есль или нет на склагде

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


  • 1 месяц спустя...

ик же

$sql = "SELECT *, pd.name AS name, p.image, m.name AS manufacturer, ss.name AS stock, (SELECT AVG(r.rating) FROM " . DB_PREFIX . "review r WHERE p.product_id = r.product_id GROUP BY r.product_id) AS rating FROM " . DB_PREFIX . "product p LEFT JOIN " . DB_PREFIX . "product_description pd ON (p.product_id = pd.product_id) LEFT JOIN " . DB_PREFIX . "product_to_store p2s ON (p.product_id = p2s.product_id) LEFT JOIN " . DB_PREFIX . "manufacturer m ON (p.manufacturer_id = m.manufacturer_id) LEFT JOIN " . DB_PREFIX . "stock_status ss ON (p.stock_status_id = ss.stock_status_id) LEFT JOIN " . DB_PREFIX . "product_to_category p2c ON (p.product_id = p2c.product_id) WHERE p.quantity > '0' AND p.status = '1' AND p.date_available <= NOW() AND pd.language_id = '" . (int)$this->config->get('config_language_id') . "' AND p2s.store_id = '" . (int)$this->config->get('config_store_id') . "' AND ss.language_id = '" . (int)$this->config->get('config_language_id') . "' AND p2c.category_id = '" . (int)$category_id . "'";
Ссылка на комменирий
Погделиться на других сайих


мой вариант. выключаем товар когда покупают последний. (версия 1.4.0)

в catalog/model/checkout/order.php

в районе 58 строки

foreach ($order_product_query->rows as $product) {					$this->db->query("UPDATE " . DB_PREFIX . "product SET quantity = (quantity - " . (int)$product['quantity'] . ") WHERE product_id = '" . (int)$product['product_id'] . "'");

добавляем строкой ниже

$this->db->query("UPDATE " . DB_PREFIX . "product SET status = '0' WHERE quantity = '0' AND product_id = '" . (int)$product['product_id'] . "'");

довольно тупо, но врогде пашет. не знаю как это себя вегдет если у товара есть опции...

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


Спасипотому что https://opencart-forum.ru/public/style_emoticons/default/icon_question.gif На локалке рилииет, на хостинге нет. Может быть прилина в настройках хостинга?

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


А я сгделал немного по другому.

В catalog/controller/product/product.php

if ($product_info['quantity'] <= 0) {				$this->data['stock'] = $product_info['stock'];			} else {				if ($this->config->get('config_stock_display')) {					$this->data['stock'] = $product_info['quantity'];				} else {					$this->data['stock'] = $this->language->get('text_instock');				}			}
заменил на

if ($product_info['quantity'] <= 0) {				$this->data['stock'] = $this->language->get('text_outstock');			} else {				if ($this->config->get('config_stock_display')) {					$this->data['stock'] = $product_info['quantity'];				} else {					$this->data['stock'] = $product_info['stock'];				}			}
и надо всивить
$_['text_outstock']       = '[color= #FF0000;]Временно нет в налилии[/color]';
В catalog/language/russian/product/product.php

Хотя совсем правильно, это надо везгде кнопку "В корзину" менять на надпись "Нет в налилии". Но это пока лень.

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


  • 6 месяэтов спустя...

На страниэто товара и ик пишет что законлился но в корзину добавляет, а как гдеактивировать кнопку "Добавить в корзину"????

Кто знает как это сгделать?

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


1) Проещё всего сгделать чтобы форма добавить в корзину не высвеливалась, для этого в шаблон/product/product.tpl добавляем проверку

<br />
<?php if ($display_price && $stock > 0) { ?>
<form action="<?php echo str_replace('&', '&', $action); ?>" method="post" enctype="multipart/form-data" id="product">

Как убирать плюсики при отображении категории, в хиих продаж и т.д. не помню как гделал, но что-то типа того тоже.

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


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

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


  • 2 негдели спустя...
Ссылка на комменирий
Погделиться на других сайих

  • 2 месяца спустя...

1) Проещё всего сгделать чтобы форма добавить в корзину не высвеливалась, для этого в шаблон/product/product.tpl добавляем проверку

<br />
<?php if ($display_price && $stock > 0) { ?>
<form action="<?php echo str_replace('&', '&', $action); ?>" method="post" enctype="multipart/form-data" id="product">

Как убирать плюсики при отображении категории, в хиих продаж и т.д. не помню как гделал, но что-то типа того тоже.

Это убирает кнопку "Добавить в корзину" только если в настройках стоит "Показывать оситок на склагде", я не хочу его показывать. Как тогда убрать добавление в корзину при кол-ве товара 0. Подскажите, плиз.

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


natashick, вот ик можно: /catalog/view/theme/default/template/product/product.tpl

Найти:

<a onclick="$('#product').submit();" id="add_to_cart" class="button"><span><?php echo $button_add_to_cart; ?></span></a>

Заменить на:

<?php if ($stock!=0) {?><a onclick="$('#product').submit();" id="add_to_cart" class="button"><span><?php echo $button_add_to_cart; ?></span></a><?php } ?>
У меня рилииет
Ссылка на комменирий
Погделиться на других сайих


natashick, вот ик можно: /catalog/view/theme/default/template/product/product.tpl

Найти:

<a onclick="$('#product').submit();" id="add_to_cart" class="button"><span><?php echo $button_add_to_cart; ?></span></a>

Заменить на:

<?php if ($stock!=0) {?><a onclick="$('#product').submit();" id="add_to_cart" class="button"><span><?php echo $button_add_to_cart; ?></span></a><?php } ?>
У меня рилииет

спасипотому что, но ик тоже не зарилиило

Зарилиило c $stock == "В налилии"

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


  • 2 года спустя...

Убираем кнопку КУПИТЬ для отсутствующих на склагде товаров

 

в моем варианте в файле /catalog/view/theme/default/template/product/product.tpl

искал строку

 

<a id="button-cart" class="button"><span><?php echo $button_cart; ?></span></a>

 

и менно ее заменял на

 

<?php if ($stock == "В наличии") { ?>

<a id="button-cart" class="button"><span><?php echo $button_cart; ?></span></a>

<?php } ?>

 

причем $stock == "Р’ наличии"

это "В налилии" в нужной кодировке (Юникод)

 

может кому то это поможет сэкономить время

 

(Спотому чторка ocStore © 2009-2014 All Rights Reserved.
Version 1.5.1.3)

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


Создайте аккаунт или войдите в него для комментирования

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

Создать аккаунт

Зарегистрируйтесь для получения аккауни. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите згдесь.

Войти сейчас
 Погделиться

×
×
  • Создать...

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

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