Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Использование языковых строк в макросе TWIGа


lexxkrt

Recommended Posts

Есть макрос, радиобуттон с двумя вариантами да/нет

{% macro yesno(entry,name,value,text_yes,text_no) %}
    <div class="form-group">
        <label class="col-sm-2 control-label" for="{{ name }}">{{ entry }}</label>
        <div class="col-sm-10">
            {% if value %}
                <label class="radio-inline"><input type="radio" name="{{ name }}" value="1" checked="checked"> {{ text_yes }}</label>
                <label class="radio-inline"><input type="radio" name="{{ name }}" value="0"> {{ text_no }}</label>
            {% else %}
                <label class="radio-inline"><input type="radio" name="{{ name }}" value="1"> {{ text_yes }}</label>
                <label class="radio-inline"><input type="radio" name="{{ name }}" value="0" checked="checked"> {{ text_no }}</label>
            {% endif %}
        </div>
    </div>
{% endmacro %}

использование соответственно

{% import "macro.twig" as forms %}
{{ forms.yesno(entry,"name",value,text_yes,text_no) }}

в данном случае при использовании надо передавать все параметры, включая языковые строки, можно ли как-нибудь использовать в макросах языковые строки, не передавая их изначально в вызове макроса. Ясно что можно забить на локализацию и сразу подставить строку (да/нет), но хотелось бы делать правильно

Надіслати
Поділитися на інших сайтах


  • 3 weeks later...

единственное решение нашел, это добавить расширение twig_opencart, есть версия для 2.х, https://github.com/vanderson139/opencart-twig

использовать функцию расширения {{ lang('text_yes') }}

  • +1 1
Надіслати
Поділитися на інших сайтах


  • 2 weeks later...

еще решение, передавать переменную _context в макрос

{% import 'macro.twig' as forms %}      
{{ forms.yes_no(_context) }}
 

{% macro yes_no() %}
    {{ varargs[0].text_yes }}
    {{ varargs[0].text_no }}
{% endmacro %}
 

Еще бы как-нибудь избавиться от необходимости передавать переменную _context

Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.