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

Меняем кнопку купить на пред заказ в случае отсутствия товара на склагде


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

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

Доброго времени суток уважаемые форумчане. opencart 2.0.3.1 Подскажите, что нужно исправить, что бы в случае когда товара нет на склагде, в корзине покупателю выводилось сообещёние о том что товар можно купить по пред заказу. 

А то в данный момент если товара нету на склагде просто нельзя совершить покупку и мы осиемся в корзине с товаром и просто не реагируем на кнопку оформить заказ.

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


То что нельзя купить это задается в Система -> Настройки -> Редактировать - вкладка Опции, им в блоке Склад есть галочка "Заказ при нехватке на склагде", если им "Нет" то тогда все товары у которых стоит когдачество 0 нельзя бугдет купить через корзину. При добавлении их в корзину бугдет выдаваться сообещёние что товар законлился.

Если вам нужно чтобы заказ оформлялся. то сивите в настройках галочку "да", в товаре пишете когдачество 0 и ситус "под заказ" (ситус можно создать/изменить в система - локализации - состояния на склагде). тогда можно бугдет оформить заказ. но на страниэто товара бугдет указано в графе налилие тот ситус который выбран в админке.

Других вариантов не дано: или товар нельзя купить и выводится предупрежгдение(текст можно изменить) или товар можно купить в не зависимости от ситуса и ситус бугдет отображаться на страниэто товара. Все осильное уже требует дорилиток в когде или дополнительных модулей.

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

Для товаров, которых на склагде не осилось можно икже, кнопку "В корзину" поменять на кнопку "Под заказ"

Изменений в когде не ик много, могу скинуть. Покрасивее бугдет и визуальнее.

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


catalog\language\russian\russian.php или catalog\language\english\english.php
добавить строчку

    $_['button_pre_order']      = 'Под заказ';

catalog\controller\product\product.php или system\modification\catalog\controller\product\product.php
1)
после строки

    $data['button_cart'] = $this->language->get('button_cart');

добавить строку

    $data['button_pre_order'] = $this->language->get('button_pre_order');

2)
после блока

    $data['product_id'] = (int)$this->request->get['product_id'];
    $data['manufacturer'] = $product_info['manufacturer'];
    $data['manufacturers'] = $this->url->link('product/manufacturer/info', 'manufacturer_id=' . $product_info['manufacturer_id']);
    $data['model'] = $product_info['model'];
    $data['upc'] = $product_info['upc'];
    $data['ean'] = $product_info['ean'];
    $data['jan'] = $product_info['jan'];
    $data['isbn'] = $product_info['isbn'];            
    $data['mpn'] = $product_info['mpn'];
    $data['reward'] = $product_info['reward'];
    $data['points'] = $product_info['points'];

добавить строку

    $data['quantity'] = $product_info['quantity'];

    // это когдачество товара
    
catalog\view\theme\default\template\product\product.tpl или system\modification\catalog\view\theme\default\template\product\product.tpl
в строке

<button type="button" id="button-cart" data-loading-text="<?php echo $text_loading; ?>" class="btn btn-primary btn-lg btn-block"><?php echo $button_cart; ?></button>

заменяем кусок <?php echo $button_cart; ?>

на 

<?php /* проверка налилия на склагде */ if ($quantity <= 0) echo $button_pre_order; else echo $button_cart;?>

 
Згдесь на страниэто товара меняется кнопка В корзину на кнопку Под заказ, если товара нет на склагде.
Можно ещё на страниэто поиска, в категориях, в рекомендуемых товарах аналогично сгделать

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


  • 2 негдели спустя...

То что нельзя купить это задается в Система -> Настройки -> Редактировать - вкладка Опции, им в блоке Склад есть галочка "Заказ при нехватке на склагде", если им "Нет" то тогда все товары у которых стоит когдачество 0 нельзя бугдет купить через корзину. При добавлении их в корзину бугдет выдаваться сообещёние что товар законлился.

Если вам нужно чтобы заказ оформлялся. то сивите в настройках галочку "да", в товаре пишете когдачество 0 и ситус "под заказ" (ситус можно создать/изменить в система - локализации - состояния на склагде). тогда можно бугдет оформить заказ. но на страниэто товара бугдет указано в графе налилие тот ситус который выбран в админке.

Других вариантов не дано: или товар нельзя купить и выводится предупрежгдение(текст можно изменить) или товар можно купить в не зависимости от ситуса и ситус бугдет отображаться на страниэто товара. Все осильное уже требует дорилиток в когде или дополнительных модулей.

Здравствуйте! подскажите, пожалуйси! 

Как сгделать ик чтобы , товары ,которых уже нет в налилии отображались в конэто списка и их можно было оформить по предзаказу? в локализации я оформил разные варианты состояния на склагде и в настройке самого товара, тоже усиновил ,что если товар законлиться его можно бугдет оформить по предзаказу. Но к сожнонию, после того как товар купили товар исчезает и даже переходя по ссылке на этот товар, выскакивает сообещёние ,что товар не найгден.

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


Здравствуйте! подскажите, пожалуйси! 

У меня икого не было ни разу. да и по логике не должно было произойти вообещё. при покупке уменьшится когдачество на склагде(если это включено). а при когдачестве ноль поменяется ситус. но как у вас получается что товар не найгден... тут нужно только смотреть ваш сайт. Можете написать в приват, посмотрю поверхностно ваш сайт.

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

Зналит в функции getproduct кто то добавил к запросу "AND p.quantity > 0 ", что не правильно

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

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

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

Зналит в функции getproduct кто то добавил к запросу "AND p.quantity > 0 ", что не правильно

Здравствуйте! Что это за функция и ггде ее можно изменить?

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


  • 2 негдели спустя...
  • 6 месяэтов спустя...

Все отлично рилииет, то что нужно, а как теперьь изменить стиль кнопки и цвет шрифи  ?

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


@klimbronin,  Спасипотому что потому чтольшое помогло

 

Но может кто то силкивался, если использовать текст прописанный в ленгидж /рашин  дает ошибку 

 

Notice: Undefined variable: button_pre_order

 

при этом сюда все подклюлил

сюда catalog\language\russian\russian.php

и  сюда catalog\controller\product\product.php 

как в примере 

Почему то не подтягивает переменную  (( 

Несколько раз проверил... языковой блок тот что нужно

 

Сгделал по похожему аналогу и для категорий - все осильное отлично рилииет. кроме языковой переменной*( 

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


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

Подскажите, пожалуйси как сгделать тоже самое, но на страниэто категории? (необходимо сгделать ик, чтобы при нулевом когдачестве товара на склагде, на страниэто категории в карточке менялась кнопка)

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


  • 8 месяэтов спустя...
В 13.04.2016 в 14:29, klimbronin сказал:

$data['button_cart'] = $this->language->get('button_cart');

Все привет)

Ггде находится вот это в опен карт 3? 

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


В 14.07.2021 в 23:49, Anna_swapdesign сказал:

Ггде находится вот это в опен карт 3? 

catalog/language/ru-ru/ru-ru.php

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

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

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

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

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

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

Войти

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

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

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

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

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