Автор Тема: Изменение переменных в шаблонах писем  (Прочитано 464 раз)

18 Ноября 2014, 00:04:55
  • Фрилансер
  • *
  • Сообщений: 104
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Прошу совета опытных форумчан.

Суть вопроса: есть такой модуль редактирования заказов - Orlique (рекомендую, кстати), версия престы 1.4.
Этот модуль при редактировании заказа отправляет клиенту письмо с уведомлением об изменениях. С удивлением я отметил, что цены в табличке товаров в этих письмах не отвечают действительности.

За вывод списка товаров с ценами в таком письме отвечает переменная {products}

Покопавшись в файле orlique.php, я нашел

'{products}' => $productsList,
и далее код, который отвечает за цены в $productsList, а именно:

$price = Tools::convertPrice($product['product_price'], $currency);
$price_wt = Tools::convertPrice(($product['product_price'] * (1 + ((float)$product['tax_rate'] / 100))), $currency);

Непонятно зачем разработчики втыкнули в вывод цены функцию конвертации валюты, что никак не вяжется с реальностью. Мне нужно просто указать в коде валюту (возможно через айди), без всяких функций конвертации. Есть какие нибудь идеи? Думал прицепить сюда функцию getPrice, но знаний не хватает...
18 Ноября 2014, 10:32:30
Ответ #1
  • Ветеран
  • *****
  • Сообщений: 13458
  • Репутация: +14561/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Функция конвертации валюты нужна. Этот модуль позволяеь работать с несколькими языковыми версиями, валютами и магазинами. Поэтому учет валюты необходим. Если не нужна конвертвция, удалите эту функцию.
$price = $product['product_price'];
18 Ноября 2014, 11:27:28
Ответ #2
  • Фрилансер
  • *
  • Сообщений: 104
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Функция конвертации валюты нужна. Этот модуль позволяеь работать с несколькими языковыми версиями, валютами и магазинами. Поэтому учет валюты необходим. Если не нужна конвертвция, удалите эту функцию.
$price = $product['product_price'];
Спасибо, все получилось. Я тоже пробовал просто удалять функцию, но всегда оставлял $currency, а это было очевидно частью функции конвертации.

Еще такой вопрос - переменные (для писем) отдельных модулей я нашел в php файлах модулей, а вот переменные, которые используются в письмах в самом движке, мне найти не удалось. Не подскажете, где их искать? Преста 1.4.
18 Ноября 2014, 12:05:55
Ответ #3
  • Ветеран
  • *****
  • Сообщений: 763
  • Репутация: +6/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Все переменные для писем находятся в контроллерах и классах страниц с которых вы отправляте сообщения. Для заказа, это класс PaymentModule.php.