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

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

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

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

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


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

Сам сделал 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

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


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

Большое Вам человеческое спасибо! :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']; у меня стоит запятая (,) . Еще раз спасибо за решение проблемы )

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

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


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

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

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

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


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

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

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


Ссылка на сообщение
Поделиться на другие сайты
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'],

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

 

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

 

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

 

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


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

У кого есть решение для simple и ocstore 2.0.1?

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


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

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

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

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

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

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

Войти

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

Войти

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

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

×

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

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