Best Answer Cheren-dow , 16 September 2015 - 11:09
Tunga, выложил решение в маркетплейсе, можете скачать и перезалить на свой сайт с заменой файлы.
Go to the full postBest Answer Cheren-dow , 16 September 2015 - 11:09
Tunga, выложил решение в маркетплейсе, можете скачать и перезалить на свой сайт с заменой файлы.
Go to the full postPosted 07 September 2015 - 18:30
Помогите поправить шаблон корзины чтобы вывести скидку в процентах и валюте сайта.
Использую элемент Скидка, начиная с определенной суммы // JBMarketplace
Сейчас в корзине выводится скидка в процентах, а нужно показать и в процентах и валюте сайта
Хотелось бы конечно такие изменения увидеть сразу из коробки в элементе Скидка, начиная с определенной суммы // JBMarketplace
Edited by Tunga, 07 September 2015 - 18:37.
JBZoo это круто!
Posted 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; } }
В результате в корзине должна отображатся следующая информация:
Нужный вывод можете осуществить в шаблоне, а стили дописать в файле стилей.
Posted 10 September 2015 - 06:43
Понял сейчас заделаем)
Edited by Tunga, 10 September 2015 - 10:45.
JBZoo это круто!
Posted 10 September 2015 - 10:44
Почти все получилось но скидка считается только после обновления страницы в браузере.
Зайдите на сайт http://bebis.com.ua/ добавьте любой товар в корзину, перейдите на страницу оформления заказа и знаком + увеличьте количество товара до суммы свыше 2000 грн, скидка не пересчитается, но если обновить страницу в браузере тогда пересчитается. Как сделать чтобы скидка пересчитывалась сразу без перезагрузки страницы?
Edited by Tunga, 15 September 2015 - 07:42.
JBZoo это круто!
Posted 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);
Posted 14 September 2015 - 17:03
Все сделал как Вы сказали, не работает)
JBZoo это круто!
Posted 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 это круто!
Posted 16 September 2015 - 11:09 Best Answer
Tunga, выложил решение в маркетплейсе, можете скачать и перезалить на свой сайт с заменой файлы.
Posted 16 September 2015 - 14:59
Нет не работает этот код, скачал с маркетплейса и установил, скидка не пересчитывается.
Сейчас я установил для теста скидку -5% на все заказы от 100грн. значит любой товар будет со скидкой)
Зайдите в магазин http://bebis.com.ua/добавьте любой товар в корзину, перейдите на страницу оформления заказа и знаком + измените количество товара в корзине.
Общая сумма заказа пересчитается, а скидка не пересчитается! - (без перезагрузки страницы)
Edited by Tunga, 16 September 2015 - 15:02.
JBZoo это круто!
Основной форум JBZoo →
Корзина, цены и форма заказа →
Скидка В Процентах В АдминкеStarted by romasanbl4 , 03 Mar 2021 скидка 00 |
|
|
||
Основной форум JBZoo →
Корзина, цены и форма заказа →
Вопрос по промокодам на скидкуStarted by Mirotvoretz , 17 Feb 2017 промокод, скидка 00 |
|
|
||
|
Answered
Основной форум JBZoo →
Организация каталога и внешний вид →
Иконка скидкиStarted by Василий , 24 Jul 2016 скидка, иконка 00 |
|
|
|
|
Answered
Основной форум JBZoo →
Ошибки в приложении →
Скидка на item в админке, невозможно выбрать itemStarted by udjin , 21 Mar 2016 админка, admin menu, item, скидка 00 |
|
|
|
Основной форум JBZoo →
Корзина, цены и форма заказа →
Сделать скидку в зависимости от способа доставкиStarted by zerxx , 20 Mar 2016 скидка and 2 more... 00 |
|
|