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

Модуль для вывода количества товара на складе

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

Всем привет, кто-нить знает есть ли модуль для версии 2.3.0.2, который позволяет выводить количество товара(начальное) и количество оставшегося товара(на складе) прям в карточке товара на Главной странице, например как в https://idealz.com ?

Или кто мне сможет помочь, разумеется не бесплатно, сделать это вручную как это сделано в https://idealz.com?

Прошу, помогите, кто сможет... 

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


Ссылка на сообщение
Поделиться на другие сайты
2 минуты назад, Bota сказал:

Всем привет, кто-нить знает есть ли модуль для версии 2.3.0.2, который позволяет выводить количество товара(начальное) и количество оставшегося товара(на складе) прям в карточке товара на Главной странице, например как в https://idealz.com ?

Или кто мне сможет помочь, разумеется не бесплатно, сделать это вручную как это сделано в https://idealz.com?

Прошу, помогите, кто сможет... 

 

Пробовала

но что-то не получается, кажется это дополнение не подходит для Oencart 2.3.0.2

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


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

Привет, @Bota

кол-во товаров откуда нужно брать?

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


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

Количество товаров надо брать из Товары -> Данные -> Количество

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


Ссылка на сообщение
Поделиться на другие сайты
1 час назад, Bota сказал:

Количество товаров надо брать из Товары -> Данные -> Количество

В catalog/model/catalog/product/product.php добавить:

public function getSold($product_id) {
	$query = $this->db->query("SELECT SUM(quantity) AS quantity FROM " . DB_PREFIX . "order_product WHERE product_id = '" . (int)$product_id . "'");

	if ($query->num_rows) {
		return  $query->row['quantity'];
	} else {
		return false;
	}
}

В catalog/controller/product/product.php заменить:

if ($product_info['quantity'] <= 0) {
	$data['stock'] = $product_info['stock_status'];
} elseif ($this->config->get('config_stock_display')) {
	$data['stock'] = $product_info['quantity'];
} else {
	$data['stock'] = $this->language->get('text_instock');
}

на

$sold = $this->model_catalog_product->getSold($this->request->get['product_id']);

if ($product_info['quantity'] <= 0) {
	$data['stock'] = $product_info['stock_status'];
	$data['first_stock'] = false;
} elseif ($this->config->get('config_stock_display')) {
	$data['stock'] = $product_info['quantity'];
	$data['first_stock'] = $product_info['quantity'] + $sold;
} else {
	$data['stock'] = $this->language->get('text_instock');
	$data['first_stock'] = false;
}

И вывести в catalog/view/theme/вашатема/template/product/product.tpl куда надо. Например:

перед 

<li><?php echo $text_stock; ?> <?php echo $stock; ?></li>

вставить это:

<?php if ($first_stock) { ?>
	<li>Начальное количество: <?php echo $first_stock; ?></li>
<?php } ?>

Можете в языковые фалы добавить если мультиязычность на сайте.

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


Ссылка на сообщение
Поделиться на другие сайты
1 час назад, Gaziz сказал:

В catalog/model/catalog/product/product.php добавить:


public function getSold($product_id) {
	$query = $this->db->query("SELECT SUM(quantity) AS quantity FROM " . DB_PREFIX . "order_product WHERE product_id = '" . (int)$product_id . "'");

	if ($query->num_rows) {
		return  $query->row['quantity'];
	} else {
		return false;
	}
}

В catalog/controller/product/product.php заменить:


if ($product_info['quantity'] <= 0) {
	$data['stock'] = $product_info['stock_status'];
} elseif ($this->config->get('config_stock_display')) {
	$data['stock'] = $product_info['quantity'];
} else {
	$data['stock'] = $this->language->get('text_instock');
}

на


$sold = $this->model_catalog_product->getSold($this->request->get['product_id']);

if ($product_info['quantity'] <= 0) {
	$data['stock'] = $product_info['stock_status'];
	$data['first_stock'] = false;
} elseif ($this->config->get('config_stock_display')) {
	$data['stock'] = $product_info['quantity'];
	$data['first_stock'] = $product_info['quantity'] + $sold;
} else {
	$data['stock'] = $this->language->get('text_instock');
	$data['first_stock'] = false;
}

И вывести в catalog/view/theme/вашатема/template/product/product.tpl куда надо. Например:

перед 


<li><?php echo $text_stock; ?> <?php echo $stock; ?></li>

вставить это:


<?php if ($first_stock) { ?>
	<li>Начальное количество: <?php echo $first_stock; ?></li>
<?php } ?>

Можете в языковые фалы добавить если мультиязычность на сайте.

Сделала все так как вы написали, но пишет что

  • Undefined variable: first_stock in .../catalog/view/theme/theme777/template/product/product.tpl

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


Ссылка на сообщение
Поделиться на другие сайты
10 минут назад, Bota сказал:

Сделала все так как вы написали, но пишет что

  • Undefined variable: first_stock in .../catalog/view/theme/theme777/template/product/product.tpl

Обновите модификаторы

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


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

Обновила, но что-то пошло не так...сайт перестал грузится...

 

видимо что-то не то сделала

вернула обратно все как было. Буду думать как дальше быть...

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


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

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

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

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

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

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

Войти

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

Войти

  • Последние посетители   0 пользователей онлайн

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

×

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

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