Дело вот в чём. Предполагается, что если вы предоставляете скидку на товар, то она распространяется на все его комплектации. Поэтому мы возвращаем зачёркнутую цену соответственно правилу в комплектации.
У Вас стоит в комплектации для зачёркнутой цена равна "+" 0(пустое поле - тоже ноль) рублей от зачёркнутой цены базовой комплектации.
Соответственно, если мы хотим, чтобы в зачёркнутой цене не было значения (0), то надо поменять знак с "+" на "=", тогда в зачёркнутую цену пойдёт 0, т.к. поле со значением в комплектации пустое, а уже в шаблоне можно проверить на равность нулю.
Строки:
data-change-cost='{
".offerBarcode": "{$offer.barcode|default:$product.barcode}",
".myCost": "{$product->getCost(null, $key)}",
".lastPrice": "{$product->getCost('Зачеркнутая цена', $key)}"
}'
Эти строки подхватывает javascript обработчик, который перебором из данного объекта выставляет значение элементам по классу (вы можете детально посмотреть это в файле jquery.changeoffer.js в свой теме оформления). Мы знаем, что в Зачёркнутую цену пойдёт 0, поэтому на него и проверим.
{$lastprice=$product->getCost('Зачеркнутая цена', $key)}
data-change-cost='{
".offerBarcode": "{$offer.barcode|default:$product.barcode}",
".myCost": "{$product->getCost(null, $key)}",
{if $lastprice}
".lastPrice": "{$product->getCost('Зачеркнутая цена', $key)}"
{/if}
}'
И еще, как сделать чтобы в блоке Акция выводилась всегда цена со скидкой, а не цена первой комплектации.
Насколько я понял Вам надо чтобы вы у одной из комплектации товара Вы выставили цену и после этого в акциях у Вас должна отображаться, только та цена у которой есть зачёркнутая.
Если так, Вам надо тогда в шаблончике перебрать комплектации. Сделать это можно как и в случае с карточкой товара, где идёт перебор.
{if $product->isOffersUse()} {*Проверяем есть ли комплектации и одновременно загружаем их*}
{foreach from=$product.offers.items key=key item=offer name=offers} {* Перебираем их *}
{$lastprice=$product->getCost('Зачеркнутая цена', $key)} {*Получаем зачёркнутую цену для нужной комплектации*}
{if $lastprice} {*Если зачёркнутая цена существует и она больше нуля*}
{$product->getCost(null, $key)} {*Выводим базовую цену нужной комплектации*}
{/if}
{/foreach}
{/if}