Лучший Ответ 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
|
|
|
||
Основной форум JBZoo →
Корзина, цены и форма заказа →
Вопрос по промокодам на скидкуАвтор Mirotvoretz , 17 Feb 2017
|
|
|
||
![]() |
Иконка скидкиАвтор Василий , 24 Jul 2016
|
|
|
|
![]() |
Скидка на item в админке, невозможно выбрать itemАвтор udjin , 21 Mar 2016
|
|
|
|
Основной форум JBZoo →
Корзина, цены и форма заказа →
Сделать скидку в зависимости от способа доставкиАвтор zerxx , 20 Mar 2016
|
|
|