Перейти к публикации
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...

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


 Поделиться

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

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

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


  • 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

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


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

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

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

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

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

Войти

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

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

  • Сейчас на странице   0 пользователей

    • Нет пользователей, просматривающих эту страницу.
×
×
  • Создать...

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

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