Permalink
Fetching contributors…
Cannot retrieve contributors at this time
44 lines (32 sloc) 1.63 KB

Html хелпер

Для использования [[\yii\helpers\Html]] в шаблонах можно подключить расширение:

'extensions' => [
    \yii\twig\html\HtmlHelperExtension::class,
],

и далее в шаблонах:

{{ Html.a('text', 'link', {'class':'btn btn-default'}) }}

Но существует ограничение на работу с методами хелпера, которые в качестве аргументов принимают ссылки на массивы, например методы addCssClass() или addCssStyle(). Twig не поддерживает такую передачу аргументов.

Работа с этими методами возможна с помощью дополнительных выражений:

{% set favoriteButtonOptions = {
    'class': 'btn btn-default',
    'style': 'color:red'
} %}

{% css_class favoriteButtonOptions + 'btn-primary' %}
{# эквивалент Html::addCssClass($favoriteButtonOptions, 'btn-primary') #}

{% css_class favoriteButtonOptions - 'btn-primary' %}
{# эквивалент Html::removeCssClass($favoriteButtonOptions, 'btn-primary') #}

{% css_style favoriteButtonOptions + 'display:none' %}
{# эквивалент Html::addCssStyle($favoriteButtonOptions, 'display:none') #}

{% css_style favoriteButtonOptions - 'display' %}
{# эквивалент Html::removeCssStyle($favoriteButtonOptions, 'display') #}
или
{% css_style favoriteButtonOptions - ['display', 'color'] %}
{# эквивалент Html::removeCssStyle($favoriteButtonOptions, ['display', 'color']) #}