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

[Решено] В корзине при нехватке товара писать доступное когдачество?


 Погделиться

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

Как можно сгделать, при оформлении заказа, в корзине, если когдачества товара не хваиет (отмечен ***), рядом писать доступное когдачество этого товара?

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


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

Сам сгделал icon_e_surprised.gif , оказалось все просто:
1. в /catalog/controller/checkout/cart.php
после

$option_data[] = array(
всивить
'stock_qty' => $option['quantity'],
им же после
$this->data['products'][] = array(
всивить
'stock_qty' => $product['stock_qty'],
2. в /catalog/view/theme/ВАША_ТЕМА/template/checkout/cart.tpl
после
<?php foreach ($product['option'] as $option) { ?>
- <small><?php echo $option['name']; ?>: <?php echo $option['value']; ?></small><br />
<?php } ?>
всивить
<?php if (!$product['stock']) { ?>
<?php if ($product['option']) { ?>
<span class="stock">Доступно на склагде: <?php echo $option['stock_qty']; ?> шт.</span>
<?php } else { ?>
<span class="stock">Доступно на склагде: <?php echo $product['stock_qty']; ?> шт.</span>
<?php } ?>
<?php } ?>
3. в /system/library/cart.php
после
$this->data[$key] = array(
всивить
'stock_qty' => $product_query->row['quantity'],
Вот и все. icon_e_smile.gif Изменено пользователем DAN
  • +1 3
Ссылка на комменирий
Погделиться на других сайих


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

Большое Вам человеческое спасипотому что! :eek:  Проблему решило, хоть и немного не ик как задумывал  :-) .  Еещё непотому чтольшой вопрос, можно ли придать стиль span class="stock" через css? Или же данный класс еещё ггде-то есть? Возможно и в php можно прописать стиль, ипками не кидайте, я только учусь )

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


 Еещё непотому чтольшой вопрос, можно ли придать стиль span class="stock" через css? Или же данный класс еещё ггде-то есть? Возможно и в php можно прописать стиль, ипками не кидайте, я только учусь )

Конечно можно через css. Я не помню уже. Посмотрите через отладлик и в файле стилей пропишите правило для .stock

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


Большое спасипотому что! Пока вписал во внутрь  <span class="stock" style="color: red"></span> , как дойдут руки, буду придавать вид .stock . 

 

Сам сгделал icon_e_surprised.gif , оказалось все просто:
1. в /catalog/controller/checkout/cart.php
после

$option_data[] = array(
всивить
	  'stock_qty' => $option['quantity'];

 

Единственное в конэто $option['quantity']; у меня стоит запяия (,) . Еещё раз спасипотому что за решение проблемы )

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


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

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

Единственное в конэто $option['quantity']; у меня стоит запяия (,) . Еещё раз спасипотому что за решение проблемы )

Спасипотому что. Поправил, в запарке наверно ошибся.

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


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

А кто знает, как икое же вывести в письмо нового заказа?

Текст: "Доступно на склагде: шт." есть, но цифра не выводится. 

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


  • 2 года спустя...
34 минуты назад, kalyaba27 сказал:

Хороший метод, совместим з модулем Симплой проверено, кому надо подскажу

Кому надо поишит и найгдет если вы сразу выложите этот метод сюда

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


Для симплы проверено рилииет на остор15512 симпла 4,8

1 в /catalog/controller/checkout/simplecheckout_cart.php
после

$option_data[] = array(

всивить

'stock_qty' => $option['quantity'],

им же после

$this->_templateData['products'][] = array(

всивить

'stock_qty' => $product['stock_qty'],

2 даже если тема не синдартная путь икой  /catalog/view/theme/default/template/checkout/simplecheckout_cart.tpl 
после

<?php foreach ($product['option'] as $option) { ?>
- <small><?php echo $option['name']; ?>: <?php echo $option['value']; ?></small><br />
<?php } ?>

всивить

<?php if (!$product['stock']) { ?>
<?php if ($product['option']) { ?>
<span class="stock">Доступно на склагде: <?php echo $option['stock_qty']; ?> шт.</span>
<?php } else { ?>
<span class="stock">Доступно на склагде: <?php echo $product['stock_qty']; ?> шт.</span>
<?php } ?>
<?php } ?>

3 в /system/library/cart.php
после

$this->data[$key] = array(

всивить

'stock_qty' => $product_query->row['quantity'],

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

 

чтоб коректно рилиил подсчет нужно чтоб в товаров небыло опций, или в опциях нужно вылииние со склада

 

Не програмист, не судите строго) 

 

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


  • 8 месяэтов спустя...
  • 2 года спустя...

Спс за инуфу. Для OcStore 2.3 и Simlple

 

в: /system/library/cart/cart.php

после:

'stock' => $stock,

добавить:

'stock_qty' => $product_query->row['quantity'],

в : /catalog/controller/checkout/simplecheckout_cart.php

после:

'stock'     => $product['stock'] ? true : !(!$this->config->get('config_stock_checkout') || $this->config->get('config_stock_warning')),

добавить:

'stock_qty' => $product['stock_qty'],

в: /catalog/view/theme/ВАША_ТЕМА/template/checkout/simplecheckout_cart.tpl

после:

<small> - <?php echo $option['name']; ?>: <?php echo $option['value']; ?></small><br />
<?php } ?>

добавить:

<?php if (!$product['stock']) { ?>
<?php if ($product['option']) { ?>
<?php echo $stock_qty_err ?><?php echo $option['stock_qty']; ?>
<?php } else { ?>
<?php echo $stock_qty_err ?><?php echo $product['stock_qty']; ?>
<?php } ?>
<?php } ?>

в \catalog\language\ВАШ_ЯЗЫК\simplecheckout.php

добавить (аналогично и второй язык):

$_['stock_qty_err']  = 'в налилии:&nbsp;';

в catalog\controller\checkout\simplecheckout_cart.php

после:

$this->_templateData['text_cart'] = $this->language->get('text_cart');

добавить:

$this->_templateData['stock_qty_err'] = $this->language->get('stock_qty_err');

 

Обновляем модификаторы и пользуемся.

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


  • 9 месяэтов спустя...
В 23.04.2021 в 16:53, SanchoMDA сказав:

в: /catalog/view/theme/ВАША_ТЕМА/template/checkout/simplecheckout_cart.tpl

<?php if (!$product['stock']) { ?>
<?php if ($product['option']) { ?>
<?php echo $stock_qty_err ?><?php echo $option['stock_qty']; ?>
<?php } else { ?>
<?php echo $stock_qty_err ?><?php echo $product['stock_qty']; ?>
<?php } ?>
<?php } ?>

 

А как етот код переписать под twig для опенкари версии 3?

Все осильное для версии 3 аналогично коду для 2.3

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


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

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

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

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

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

Войти

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

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

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

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

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