Перейти к публикации
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...

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


lexxkrt
 Поделиться

Рекомендованные сообщения

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

{% 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 недели спустя...

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

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

  • +1 1
Ссылка на комментарий
Поделиться на других сайтах


  • 2 недели спустя...

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

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

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

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

Ссылка на комментарий
Поделиться на других сайтах


Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас
 Поделиться

  • Сейчас на странице   0 пользователей

    • Нет пользователей, просматривающих эту страницу.
×
×
  • Создать...

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.