Можно ли shopHelper использовать в шаблоне темы дизайна?
В шаблоне my.order.html есть возможность получить адресные данные из заказа, включая данные доп. полей адреса разными способами.
Можно в виде отформатированной строки через {$shipping_address}, но мне не нравится такой формат и разбирать эту строку муторно т.к. регион у однокликовых заказов не заполняется, а хочется, чтобы адрес был кратким и лаконичным без дублирования Москва Москва, Российская федерация и т.п.
Можно повытаскивать нужное из массива $order, но он большой и глубокий, что нарушает красоту кода шаблона, а самое главное то, что в нём нет region_name, т.к. в заказе в params сидит только code региона.
Человеческое название региона я вытаскиваю своим хелпером по коду региона, а строку собираю из частей $order.params, но, как уже сказал выше, это выглядит некрасиво даже в шаблоне.
В итоге решил использовать вот такое {$sh = shopHelper::getOrderAddress($order['params'], 'shipping')}
Адрес собирается уже потом в нужной последовательности в зависимости от условий из красивых {$sh.zip}, {shopCustom::region_name($sh.region)}, {$sh.city}, {$sh.street} ...
Допустимо ли использование shopHelper в данном случае или есть более "законные" способы?
3 ответа
Если вы ещё не нашли ответ на свой вопрос, подробную поддержку по редактированию исходного кода программных продуктов вы также можете получить от партнёров Webasyst.
Ага :)
Да, можно.
Хотя постановка вопроса сама по себе немного странная, но использование статических методов - задокументированная реальность движка.
Я не вижу принципиальной разницы в том, был ли метод написан своими руками или был уже готовый в самом Shop-Script.