Лучший Ответ Cheren-dow , 16 September 2015 - 11:09
Tunga, выложил решение в маркетплейсе, можете скачать и перезалить на свой сайт с заменой файлы.
Перейти к сообщениюЛучший Ответ Cheren-dow , 16 September 2015 - 11:09
Tunga, выложил решение в маркетплейсе, можете скачать и перезалить на свой сайт с заменой файлы.
Перейти к сообщениюОтправлено 07 September 2015 - 18:30
Помогите поправить шаблон корзины чтобы вывести скидку в процентах и валюте сайта.
Использую элемент Скидка, начиная с определенной суммы // JBMarketplace
Сейчас в корзине выводится скидка в процентах, а нужно показать и в процентах и валюте сайта
Хотелось бы конечно такие изменения увидеть сразу из коробки в элементе Скидка, начиная с определенной суммы // JBMarketplace
Сообщение отредактировал Tunga: 07 September 2015 - 18:37
JBZoo это круто!
Отправлено 09 September 2015 - 14:02
Tunga, здравствуйте, вам необходимо сделать следующее:
1. Откройте файл:
\media\zoo\applications\jbuniversal\cart-elements\modifierorderprice\mydiscount\mydiscount.php
И добавьте после метода getRate новый метод renderSubmission с содержимым:
/** * @param array $params * @return null|string */ public function renderSubmission($params = array()) { $rate = $this->getRate(); $total = $this->getOrder()->getTotalForItems()->getClone(); $discount = $total->getClone()->add($rate); if ($layout = $this->getLayout('submission.php')) { return self::renderLayout($layout, array( 'rate' => $rate, 'total' => $total, 'discount' => $discount, )); } return null; }
Далее создайте файл стилей mydiscount.less и шаблон submission.php как показано на скриншоте(в соответствующих папках)
Теперь откройте шаблон submission.php и вставьте следующий код:
<?php /** * JBZoo App is universal Joomla CCK, application for YooTheme Zoo component * @package jbzoo * @version 2.x Pro * @author JBZoo App http://jbzoo.com * @copyright Copyright (C) JBZoo.com, All rights reserved. * @license http://jbzoo.com/license-pro.php JBZoo Licence * @coder Sergey Kalistratov <kalistratov.s.m@gmail.com> */ // no direct access defined('_JEXEC') or die('Restricted access'); $this->app->jbassets->js('cart-elements:modifierorderprice/mydiscount/assets/less/mydiscount.js'); ?> <div class="my-discount"> <div class="my-discount-rate-price"> <?php echo $rate->negative()->html(); ?> </div> <div class="my-discount-total-price"> <?php echo $discount->html(); ?> </div> <div class="my-discount-price"> <?php echo $total->minus($discount)->negative()->html(); ?> </div> </div>
А в файл mydiscount.less стилей добавьте:
// // JBZoo App is universal Joomla CCK, application for YooTheme Zoo component // @package jbzoo // @version 2.x Pro // @author JBZoo App http://jbzoo.com // @copyright Copyright (C) JBZoo.com, All rights reserved. // @license http://jbzoo.com/license-pro.php JBZoo Licence // @coder Sergey Kalistratov <kalistratov.s.m@gmail.com> // @import "jbzoo.less"; .my-discount { font-weight: bold; .clearfix(); .jbcurrency-value { //color: #51c034; } &-total-price, &-rate-price { float: left; margin-right: 20px; } &-price { float: right; } }
В результате в корзине должна отображатся следующая информация:
Нужный вывод можете осуществить в шаблоне, а стили дописать в файле стилей.
Отправлено 10 September 2015 - 06:43
Понял сейчас заделаем)
Сообщение отредактировал Tunga: 10 September 2015 - 10:45
JBZoo это круто!
Отправлено 10 September 2015 - 10:44
Почти все получилось но скидка считается только после обновления страницы в браузере.
Зайдите на сайт http://bebis.com.ua/ добавьте любой товар в корзину, перейдите на страницу оформления заказа и знаком + увеличьте количество товара до суммы свыше 2000 грн, скидка не пересчитается, но если обновить страницу в браузере тогда пересчитается. Как сделать чтобы скидка пересчитывалась сразу без перезагрузки страницы?
Сообщение отредактировал Tunga: 15 September 2015 - 07:42
JBZoo это круто!
Отправлено 14 September 2015 - 09:10
Tunga, здравствуйте, откройте файл:
\media\zoo\applications\jbuniversal\cart-elements\modifierorderprice\mydiscount\tmpl\submission.php
И замените код на:
<?php /** * JBZoo App is universal Joomla CCK, application for YooTheme Zoo component * @package jbzoo * @version 2.x Pro * @author JBZoo App http://jbzoo.com * @copyright Copyright (C) JBZoo.com, All rights reserved. * @license http://jbzoo.com/license-pro.php JBZoo Licence * @coder Sergey Kalistratov <kalistratov.s.m@gmail.com> */ // no direct access defined('_JEXEC') or die('Restricted access'); $uniq = $this->app->jbstring->getId('mydiscount-'); echo $this->app->jbassets->widget('#' . $uniq, 'JBZooMyDiscount', array(), true); ?> <div id="<?php echo $uniq; ?>" class="my-discount"> <div class="my-discount-rate-price jsMoneyWrap"> <?php echo $rate->negative()->html(); ?> </div> <div class="my-discount-price"> <?php echo $total->minus($discount)->negative()->html(); ?> </div> </div>
Теперь создайте файл mydiscount.js в папке
\media\zoo\applications\jbuniversal\cart-elements\modifierorderprice\mydiscount\assets\js\mydiscount.js
И вставьте следующий код:
/** * JBZoo App is universal Joomla CCK, application for YooTheme Zoo component * * @package jbzoo * @version 2.x Pro * @author JBZoo App http://jbzoo.com * @copyright Copyright (C) JBZoo.com, All rights reserved. * @license http://jbzoo.com/license-pro.php JBZoo Licence */ ; (function ($, window, document, undefined) { /** * DiscountCode widget */ JBZoo.widget('JBZoo.MyDiscount', { 'interval': 100 }, { init : function(){ var $this = this; setInterval(function () { $this.onInterval() }, this.options.interval); }, onInterval : function() { var totalPrice = $('.jsTotalPrice .jsMoney').data('JBZooMoney').value; var procent = this.$('.jsMoneyWrap .jsMoney').data('JBZooMoney').value; var discountPrice = totalPrice / procent; this.$('.my-discount-price .jsMoney').JBZooMoney('setValue', discountPrice); } }); })(jQuery, window, document);
Отправлено 14 September 2015 - 17:03
Все сделал как Вы сказали, не работает)
JBZoo это круто!
Отправлено 15 September 2015 - 09:35
Я правильно добавил метод renderSubmission в файл mydiscount.php, полный код файла такой:
<?php /** * JBZoo App is universal Joomla CCK, application for YooTheme Zoo component * @package jbzoo * @version 2.x Pro * @author JBZoo App http://jbzoo.com * @copyright Copyright (C) JBZoo.com, All rights reserved. * @license http://jbzoo.com/license-pro.php JBZoo Licence * @coder Denis Smetannikov <denis@jbzoo.com> */ // no direct access defined('_JEXEC') or die('Restricted access'); /** * Class JBCartElementModifierOrderPriceMydiscount */ class JBCartElementModifierOrderPriceMydiscount extends JBCartElementModifierOrderPrice { /** * @return JBCartValue */ public function getRate() { $orderSum = $this->_order->getTotalForItems(); // получили сумму за все товары (без доставки и прочего) $discount = 0; if ($orderSum->compare($this->config->get('limit', 1000), '>=')) { // сравниваем c 2000 рублей $discount = $this->config->get('rate', 0); } return $this->_order->val($discount)->negative(); // обязательно вернуть объект, добавляем знак минус (чтобы была скидка) } /** * @param array $params * @return null|string */ public function renderSubmission($params = array()) { $rate = $this->getRate(); $total = $this->getOrder()->getTotalForItems()->getClone(); $discount = $total->getClone()->add($rate); if ($layout = $this->getLayout('submission.php')) { return self::renderLayout($layout, array( 'rate' => $rate, 'total' => $total, 'discount' => $discount, )); } return null; } }
JBZoo это круто!
Отправлено 16 September 2015 - 11:09 Лучший Ответ
Tunga, выложил решение в маркетплейсе, можете скачать и перезалить на свой сайт с заменой файлы.
Отправлено 16 September 2015 - 14:59
Нет не работает этот код, скачал с маркетплейса и установил, скидка не пересчитывается.
Сейчас я установил для теста скидку -5% на все заказы от 100грн. значит любой товар будет со скидкой)
Зайдите в магазин http://bebis.com.ua/добавьте любой товар в корзину, перейдите на страницу оформления заказа и знаком + измените количество товара в корзине.
Общая сумма заказа пересчитается, а скидка не пересчитается! - (без перезагрузки страницы)
Сообщение отредактировал Tunga: 16 September 2015 - 15:02
JBZoo это круто!
Основной форум JBZoo →
Корзина, цены и форма заказа →
Скидка В Процентах В АдминкеАвтор romasanbl4 , 03 Mar 2021 скидка 00 |
|
|
||
Основной форум JBZoo →
Корзина, цены и форма заказа →
Вопрос по промокодам на скидкуАвтор Mirotvoretz , 17 Feb 2017 промокод, скидка 00 |
|
|
||
|
Вопрос решен
Основной форум JBZoo →
Организация каталога и внешний вид →
Иконка скидкиАвтор Василий , 24 Jul 2016 скидка, иконка 00 |
|
|
|
|
Вопрос решен
Основной форум JBZoo →
Ошибки в приложении →
Скидка на item в админке, невозможно выбрать itemАвтор udjin , 21 Mar 2016 админка, admin menu, item, скидка 00 |
|
|
|
Основной форум JBZoo →
Корзина, цены и форма заказа →
Сделать скидку в зависимости от способа доставкиАвтор zerxx , 20 Mar 2016 скидка и 2 еще... 00 |
|
|