Получение значений кастомных полей в шаблонах twig

Главные вкладки

Аватар пользователя emackovenko emackovenko 5 мая 2018 в 15:29

Здравствуйте.
В своем модуле я программно создаю поле для menu_link_content:

<?php
function my_module_entity_base_field_info(EntityTypeInterface $entity_type) {
    
$fields = array();

    if (

$entity_type->id() === 'menu_link_content') {
        
$fields['is_divider'] = BaseFieldDefinition::create('boolean')
            ->
setLabel(t('Разделитель'))
            ->
setDescription(t('Если истина, то данный пункт будет выведет как разделитель'))
            ->
setRevisionable(TRUE)
            ->
setTranslatable(TRUE)
            ->
setDisplayOptions('form', array(
                
'type' => 'boolean_checkbox',
                
'settings' => array(
                    
'display_label' => TRUE,
                ),
            ))
            ->
setDisplayConfigurable('form'TRUE);
    }

    return 

$fields;
}
?>

В форме элемента меню это поле выводится нормально, в базе данных поле создано и корректно хранит значения. Но вот никак не могу понять как мне получить значение этого поля в своей теме в шаблоне twig?
В шаблоне menu.html.twig пробовал и {{ menu_item.is_divider }} и многими другими способами, но ничего особо не выходит. Подскажите, как это реализуется?

Комментарии

Аватар пользователя emackovenko emackovenko 6 мая 2018 в 20:17

Не вышло.

Вообще вот сам шаблон меню (использую bootstrap 3):

{% import _self as menus %}
{{ menus.menu_links(items, attributes, 0) }}
{% macro menu_links(items, attributes, menu_level) %}
  {% import _self as menus %}
  {% if items %}
    <div class="row">
    <div class="collapse navbar-collapse" id="top-menu-collapse">
        <ul class="nav navbar-nav">
        {% for item in items %}
          <li class="dropdown">
            <a href="{{ item.url }}" class="dropdown-toggle" data-toggle="dropdown" data-target="dropdown-menu" role="button" aria-expanded="false">{{ item.title }}{% if item.below %}<span class="fa fa-right fa-chevron-down"></span>{% endif %}
            </a>
            {% if item.below %}
                <ul class="dropdown-menu" role="menu">
                  {% for child_item in item.below %}
                    {# @todo Разрешить проблему с выводом разделителя #}
                    {% if child_item.original_link.is_divider %}
                        <li class="divider"></li>
                    {% else %}
                        <li><a href="{{ child_item.url }}">{{ child_item.title }}</a></li>
                    {% endif %}
                  {% endfor %}
              </ul>
            {% endif %}
          </li>
        {% endfor %}
        </ul>
        <ul class="nav navbar-nav navbar-right">
            <li><a href="#"><span class="fa fa-left fa-user-o"></span>Войти</a></li>
        </ul>
    </div>
    </div>
  {% endif %}
{% endmacro %}

Никак не выходит, для любого child_item.original_link.is_divider пустой. Есть ли еще способы? И вообще, может ли это быть связано с тем, что поле is_divider создается в модуле, а вывести я его пытаюсь в шаблоне темы?