Автор Тема: Как вывести в аккаунте скидку для группы из "ценовые правила каталога"?  (Прочитано 1263 раз)

03 Июнь 2016, 21:08:09
  • Новичок
  • *
  • Сообщений: 6
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
В магазине использую скидку из ценовых правил каталога, дабы выводилась основная зачёркнутая цена и новая цена (уже со скидкой) для определённых групп. (группа №1 - 5%, группа №2 - 10 % и т.д.)
Теперь вопрос.
Как править шаблон чтобы пользователь допустим находясь в группе №2 зашёл в аккаунт и увидел что у него скидка в 10%?
03 Июнь 2016, 22:04:24
Ответ #1
  • Ветеран
  • *****
  • Сообщений: 16670
  • Репутация: +14630/-5
  • Сообщество PrestaShop
    • Просмотр профиля
В стандарной теме ненужно исправлять шаблон. Когда клиент не авторизирован, то он видит цену без скидки. Зайдет на сайт и увидит 2 цены, старую и новую.
03 Июнь 2016, 22:18:50
Ответ #2
  • Новичок
  • *
  • Сообщений: 6
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
видимо неправильно выразился
у меня подключён модуль, который переводит покупателей на следующий уровень скидки в зависимости от общей суммы его покупок.
у этого модуля есть страница с такими данными:
его группа
общая сумма его покупок
его текущая скидка.

Но этот модуль показывает пользователю его текущую скидку из "группы", где у меня стоит везде "0%", а не из "ценовые правила корзины", где у меня 5, 10, 15%.
Т.е. сейчас у меня пользователь из группы "gold" видит что у него скидка 0%, а нужно чтобы показывало 15%
03 Июнь 2016, 22:22:39
Ответ #3
  • Ветеран
  • *****
  • Сообщений: 3419
  • Репутация: +79/-6
  • Сообщество PrestaShop
    • Просмотр профиля
В модуле нужно искать проблему, а не в шаблоне темы. Это же модуль должен показать 15%. Ищи в файле php модуля в хуке,который привязан с определению скидок, переменную smarty для суммы скидки. Проверь ее значение.
04 Июнь 2016, 11:03:35
Ответ #4
  • Новичок
  • *
  • Сообщений: 6
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Ищи в файле php модуля в хуке,который привязан с определению скидок, переменную smarty для суммы скидки. Проверь ее значение.
вот такое нашёл:
public function hookCustomerAccount($params)
    {
    Context::getContext()->smarty->assign('cumulative_path', $this->_path);
        return $this->display(__FILE__, 'customerAccount.tpl');
    }
04 Июнь 2016, 11:20:21
Ответ #5
  • Ветеран
  • *****
  • Сообщений: 3419
  • Репутация: +79/-6
  • Сообщество PrestaShop
    • Просмотр профиля
В нем нет ничего, кроме пути к файлам модуля. Никакой скидки. Или модуль не доделан, или там еще должен быть код для определения скидки.
04 Июнь 2016, 11:38:39
Ответ #6
  • Новичок
  • *
  • Сообщений: 6
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
ещё один файл там где есть smarty, больше нет.
$LeftToTheNextLevel = BestkitCumulativeDiscounts::LeftToTheNextLevel($total_paid);
if (!(float)$LeftToTheNextLevel) {
$LeftToTheNextLevel = 0;
}

$smarty = Context::getContext()->smarty;
$smarty->assign(array(
'accumulativeDiscounts' => BestkitCumulativeDiscounts::getAccumulativeDiscounts(),
'leftToTheNextLevel' => $LeftToTheNextLevel,
'defaultCurrency' => $defaultCurrency->sign,
'group_reduction' => $group->reduction,
'group_name' => $group->name,
'total_paid' => $total_paid
));
04 Июнь 2016, 11:46:57
Ответ #7
  • Ветеран
  • *****
  • Сообщений: 3419
  • Репутация: +79/-6
  • Сообщество PrestaShop
    • Просмотр профиля
Вот эти переменные и используй в шаблоне customerAccount.tpl
Сам шаблон должен быть показан в личном кабинете.
$group->reduction - процент скидки.
04 Июнь 2016, 12:01:02
Ответ #8
  • Новичок
  • *
  • Сообщений: 6
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
так у модуля есть свой tpl, где выводится вся инфа, но мне нужно обычную групповую скидку заменить на скидку из ценовых правил, а какая переменная это выводит я хз...
04 Июнь 2016, 12:05:38
Ответ #9
  • Ветеран
  • *****
  • Сообщений: 33325
  • Репутация: +26771/-0
    • Просмотр профиля
{$group->reduction}Размер скидки в вашем модуле

{if $product->specificPrice && $product->specificPrice.reduction_type == 'percentage'}-{$product->specificPrice.reduction*100}%{/if}В базовом шаблоне код показ скидки
04 Июнь 2016, 12:52:23
Ответ #10
  • Новичок
  • *
  • Сообщений: 6
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
типа вот так?
'defaultCurrency' => $defaultCurrency->sign,
'group_reduction' => {if $product->specificPrice && $product->specificPrice.reduction_type == 'percentage'}-{$product->specificPrice.reduction*100}%{/if},
'group_name' => $group->name,
тогда белый экран...
04 Июнь 2016, 13:34:46
Ответ #11
  • Ветеран
  • *****
  • Сообщений: 3419
  • Репутация: +79/-6
  • Сообщество PrestaShop
    • Просмотр профиля
Естествено белый экран. Ты переменные smarty в модуль засунул.
В модуле php код должен быть.
04 Июль 2016, 17:23:52
Ответ #12
  • Новичок
  • *
  • Сообщений: 4
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
видимо неправильно выразился
у меня подключён модуль, который переводит покупателей на следующий уровень скидки в зависимости от общей суммы его покупок.
у этого модуля есть страница с такими данными:
его группа
общая сумма его покупок
его текущая скидка.

Но этот модуль показывает пользователю его текущую скидку из "группы", где у меня стоит везде "0%", а не из "ценовые правила корзины", где у меня 5, 10, 15%.
Т.е. сейчас у меня пользователь из группы "gold" видит что у него скидка 0%, а нужно чтобы показывало 15%
Решаю тоже что и вы.
Но вы немного запутались. Модуль ,который переводит клиента в зависимости от общей суммы покупок, в группу сделан для "накопительных скидок" , скидку вы устанавливаете для группы, тут все просто.
Но скидку которую вы хотите отображать, это уже правило для корзины, а не для группы клиентов.
Тоесть вам наверное нужен другой модуль, или просто добавьте кнопку с ссылкой на страницу где описаны условия ваших правил для корзины.
У меня вопрос формучанам именно в том что скидка для группы клиентов в 1.6 не отображается в каталоге, просто выводит уже готовую. Есть у кого правки в шаблон ?
04 Июль 2016, 18:11:20
Ответ #13
  • Ветеран
  • *****
  • Сообщений: 3419
  • Репутация: +79/-6
  • Сообщество PrestaShop
    • Просмотр профиля
Цитировать
У меня вопрос формучанам именно в том что скидка для группы клиентов в 1.6 не отображается в каталоге, просто выводит уже готовую. Есть у кого правки в шаблон ?
Цену не выводит?
05 Июль 2016, 12:16:34
Ответ #14
  • Новичок
  • *
  • Сообщений: 4
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Цитировать
У меня вопрос формучанам именно в том что скидка для группы клиентов в 1.6 не отображается в каталоге, просто выводит уже готовую. Есть у кого правки в шаблон ?
Цену не выводит?
Цену показывает, но только уже итоговую с учетом скидки для группы. Хотелось бы чтобы пользователь видел на ценнике какой у него процент скидки и старую цену