Хочу, чтобы на странице оформления заказа был разный текст кнопки “Оформить заказ” в зависимости от выбранного способа оплаты. Возможно ли использовать какую-нибудь конструкцию ЕСЛИ в тексте языковой переменной?
В языковых переменных можно использовать плейсхолдеры, а при вызове функции __ передавать первым элементом языковую переменную, вторым - массив плейсхолдер => значение. И вот тут значение вы можете передавать конструкцией
Условие ? Значение 1 : значение 2
Нельзя
Да, это я понимаю. Но не нашел никаких хуков в районе кнопки “Оформить заказ”, чтобы туда безболезненно вставить свой код. Думал, вдруг есть что-то подобное в самой переменной.
Попробую поиграться с хуками выше по коду страницы.
Не помню, вроде кнопка отдельным шаблоном подключается, можно сделать оверрайд шаблона полностью, главное потом помнит об этом.
Да, кнопка в отдельном шаблоне:
/design/themes/responsive/templates/buttons/place_order.tpl
Не подскажите, как сделать его оверрайд через свой модуль? Я сделал в папке модуля файл /buttons/place_order.override.tpl, но что-то не работает.
в папке своего модкля надо сделать папку
overrides
то есть путь
overrides/buttons/place_order.tpl
работает
век живи - век учись
Если кому-то тоже будет нужно, то кусок кода в этом шаблоне может быть таким:
{$text = "Подтвердить заказ"}
{if $cart.payment_id == 1}
{$text = "Подтвердить заказ и перейти к оплате"}
{/if}
{if $cart.payment_id == 2}
{$text = "Подтвердить заказ и получить счет на оплату"}
{/if}
{if !$but_text}
{$but_text = __("lite_checkout.place_an_order_for", ["[amount]" => $smarty.capture.order_total, "[text]" => $text])}
{/if}
Языковая переменная lite_checkout.place_an_order_for имеет следующее значение:
[text]<br>([amount])