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

[Решено] "Доставим бесплатно" в товаре, цена которого выше, чем...

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

Как вывести надпись "Доставим бесплатно" в карточке товара, если его цена выше определенного значения, например 1000?

А если товар дешевле 1000, выводим ссылку на страницу "Условия доставки" вместо надписи..

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


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

В файле catalog\view\theme\ имя вашей темы \template\product\product.tpl в нужном месте вставить

                  <?php if (((int)(str_replace(" ","",$price))) > 999) {
                    echo 'Бесплатная доставка';
                    } else {
                    echo 'Условия доставки';
                   ?>

PS: ((int)(str_replace(" ","",$price))) - делал давно на старой версии ocstore 0.2.2, возможно для свежих достаточно будет просто $price

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


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

Можно использовать мой модуль MX Shipping Master для отображения условий доставки на странице товара (и их настройки). Он также красиво покажет, если доставка бесплатная для этого товара.

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


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

Как вывести надпись "Доставим бесплатно" в карточке товара, если его цена выше определенного значения, например 1000?

А если товар дешевле 1000, выводим ссылку на страницу "Условия доставки" вместо надписи..

 

При стоимости товара больше или равной 3000р.

4xGIpNdV.jpg

 

При стоимости товара меньше 3000р.

4xGIpNdW.jpg

 

Вместо цены доставки всегда можно добавить ссылку на страницу условий доставки.

 

Файл delivery_price.php

<?php
	$pos = strrpos($price, ' ');
	if ($pos === false){//условие $pos
		$devivery_price = $price;
	}
	else {
		$part1 = explode(' ', $price);
		$part2 = $part1[0];
		$part3 = $part1[1];
		$part4 = explode('.', $part3);
		$part5 = $part4[0];
		$part6 = $part2.$part5;
		$devivery_price = $part6;
	}//условие $pos
?>

лежит в папе с файлом product.tpl

в самом файле product.tpl

добавить в нужном месте:

<span><?php echo "Доставка по Москве, в пределах МКАД:"; ?></span> 
		<?php include('delivery_price.php'); ?> <?php if ($devivery_price > 2999) {echo "<span style='color:green;font-weight:bold;'>Бесплатно</span>";} else {echo "<span style='color:red;font-weight:bold;'>300 р.</span>";} ?></div>

Ну, со стилями и ссылками, я думаю, сами разберетесь?

 

сумма, от которой доставка бесплатна, устанавливается в этом месте:

($devivery_price > 2999)

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


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

Работает отлично, но с акциями проблемка. У акционных товаров считает от основной цены. Если знаете как подправить подскажите пожалуйста.

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


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

Делайте по аналогии с обычной ценой. Все тоже самое.

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


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

Спасибо, все получилось.

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


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

Да. Функция полезная. Но вот как быть, если средняя цена товара в магазине меньше той суммы после которой осуществляется бесплатная доставка (очень мелкие\дешевые товары). Тогда в карточке любого товара будет всегда указана стоимость доставки (300 рэ). Было бы неплохо сделать такую вставку кода, которая анализирует стоимость не в карточке товара, а в общей стоимости из корзины покупателя. Тогда получится, не набрал до минимума - показывает в любом товаре "300 рэ", а набрал - в любом товаре будет уже "бесплатная доставка".

 

В приведенном коде есть такая переменная "price", а как называется переменная общес стоимости в корзине покупателя?

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


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

Да. Функция полезная. Но вот как быть, если средняя цена товара в магазине меньше той суммы после которой осуществляется бесплатная доставка (очень мелкие\дешевые товары). Тогда в карточке любого товара будет всегда указана стоимость доставки (300 рэ). Было бы неплохо сделать такую вставку кода, которая анализирует стоимость не в карточке товара, а в общей стоимости из корзины покупателя. Тогда получится, не набрал до минимума - показывает в любом товаре "300 рэ", а набрал - в любом товаре будет уже "бесплатная доставка".

 

В приведенном коде есть такая переменная "price", а как называется переменная общес стоимости в корзине покупателя?

Пробуйте $total['text'] или $product['total']

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

 

В таком случае - лучше оставить строку с ценой доставки, а уже ниже добавить что-то типа такого: "Вы набрали товара на сумму $summ и доставка для вас будет осуществлена бесплатно."

Изменено пользователем Helloween

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


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

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

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

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

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

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

Войти

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

Войти

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

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

×

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

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