Я пытаюсь выяснить, есть ли способ включить contextual-links
в шаблоне ветки поля, используя пользовательский код. У меня есть поле ссылки на сущность, и я создал шаблон поля field--field-featured-page.html.twig
ниже приведен фрагмент кода для шаблона поля.
После очистки кэша я не могу включить контекстные ссылки.
<div class="related-links -home :three-column">
{% for item in items %}
{% set entity = item.content['#options'].entity %}
<div class="related-link">
<a href="{{ path('entity.node.canonical', {'node': entity.id}) }}" class="thumbnail -landscape" style="background-image:url({{ file_url(entity.field_image.entity.uri.value) }})">
</a>
<h2 class="preamble-heading" data-preamble="{{ entity.field_preamble.value }}">{{ entity.label }}</h2>
</div>
{% endfor %}
</div>
Ниже приведен фрагмент разметки для contextual-link
. Добавление этой разметки и выборка идентификатора узла может решить проблему, но это кажется хакерским. Как правильно включить контекстные ссылки в шаблоне ветки поля?
{% set node_id = item.content['#options'].entity.id %}
{# Contextual Links #}
<div data-contextual-id="node:node={{ node_id }}:&langcode={{ lang_code }}" class="contextual contextual-button" role="form">
<button class="trigger focusable" type="button" aria-pressed="false"></button>
<ul class="contextual-links" hidden="">
<li class="entitynodeedit-form"><a href="{{ url('<front>') }}node/{{ node_id }}/edit">Edit</a></li>
<li class="entitynodedelete-form"><a href="{{ url('<front>') }}node/{{ node_id }}/delete">Delete</a></li>
<li class="content-translationcontextual-linksnode"><a href="{{ url('<front>') }}node/{{ node_id }}/translations">Translate</a></li>
</ul>
</div>
Приведенный ниже код является шаблоном для определенного типа контента (Basic Page)
{{ page.header }}
<div {{attributes.addClass('iom-home')}}>
{{ title_suffix }}
{{ content.field_featured_page }}
</div>
{{ page.footer }}