ОТВЕТ: Укажите сумму до "Цели" для бесплатной доставки
У меня уже работает веб-сайт Magento CE 1.8.1, на котором работают два магазина, и еще больше. Мой клиент попросил меня найти способ сообщить клиенту, сколько еще ему нужно потратить, прежде чем он получит право на "Бесплатную доставку" (промежуточный итог 49 долларов или более - только для США).
Солнцезащитная одежда Tuga - Солнцезащитные купальники UPF 50+ для детей и взрослых
Я осмотрел "magento connect" и не увидел ничего, что могло бы это сделать. Вот мои идеи/требования для этого "микро-расширения"
1) Где-то на странице/сайте/блоке отображается баннер с надписью "Бесплатная стандартная доставка для заказов в США на сумму 49 долларов или более" сверху, а ниже отображается своего рода "счетчик", показывающий "Вам нужно всего лишь XX.XX больше, чтобы пройти квалификацию!"
2) Это должно быть для конкретного покупателя, поэтому ему потребуется подключиться к файлам cookie или чему-то, что используется для того, чтобы любые "гостевые" или "зарегистрированные" пользователи были отделены от других, даже с того же IP-адреса
3) В области баннера можно щелкнуть, чтобы отобразить подробную информацию о предоставленной информации о доставке. Можно нажать на область "$XX.XX для участия", чтобы отправить их в обзор корзины покупок
Я не прошу, чтобы расширение было создано отсюда, но если кто-нибудь может указать мне, какую кодировку использовать, чтобы вывести "промежуточный итог" для корзины с *математикой, чтобы получить сумму, и показывать только 0 долларов, когда сумма будет достигнута, вместо того, чтобы считать в отрицательные суммы. Я могу разобраться с остальным или иметь разработчик/фрилансер доработает остальное.
Спасибо за любую помощь, которую вы, ребята и девушки, можете оказать!
Наконец-то публикую свое решение, которое, похоже, работает на любой странице, в любом месте:
<?php
$quote = Mage::getSingleton('checkout/session')->getQuote();
$freeShippingValue = Mage::getStoreConfig('carriers/freeshipping/free_shipping_subtotal');
if ($quote->getSubtotal() < $freeShippingValue):
$subtotalamt = Mage::getSingleton('checkout/session')->getQuote()->getSubtotal();
$sumtotal = $freeShippingValue - $subtotalamt;
Mage::helper('checkout')->formatPrice($sumtotal);?>
<p>Free US Ground Shipping with <span style="color: #CC2727;">$<?php print (number_format($sumtotal, 2, '.', '')); ?></span>
more added to your cart.</p>
<?php endif ?>
Это отобразит: Free US Ground Shipping with $XX.00 more added to your cart.
Не стесняйтесь изменять текст по мере необходимости. Бесплатная сумма доставки с автоматическим обновлением по мере сохранения в конфигурации.
1 answers
Вы можете получить стоимость, необходимую для бесплатной доставки, следующим образом:
$freeShippingSubtotal = Mage::getStoreConfig('carriers/freeshipping/free_shipping_subtotal');
Вы можете получить промежуточный итог товаров в корзине следующим образом:
$cartSubtotal = Mage::getSingleton('checkout/session')->getQuote()->getSubtotal();
Теперь вы можете создать пользовательский блок (или даже использовать core/template
) с пользовательским шаблоном, в котором вы можете выполнить математические вычисления.