Добрый день.
Т.к. тема в разделе для разработчиков, опишу основной алогоритм.
Реализация для корзины:
1) В либе корзины сохраняете цену товара до применения скидок и акций
2) В коде отдачи данных о товаре доавляете перменную old_price (название для примера). Если цена равна цене после обработки скидок и акций, то возвращаете false.
3) В контроллере корзины обрабатываете переменную из либы корзины. Если там не false, то готовите форматированную цену, иначе отаёте false
4) В шаблоне корзины, если не false, то выводите старую цену.
5) Profit.
Реализация для писем:
1,2) Уже готово из предыдущего пункта.
3) Принимаем старую цену в контроллере письма. Если не false, то готовим строчное представление цены, иначе возвращаем false.
4) В шаблоне письма выводим старую цену. если она не false.
5) Profit.