Не так давно столкнулся со следующей проблемой - на сайте с Drupal 8, в определенном типе содержимого перестали выводиться переведенные поля. Первоначально была идея - вручную делать условие на айди активного языка и выводить переведенное значение полей для данного языка, но если для ноды не задан перевод в принципе, то просто выбьет ошибку. Получилось намудрить немного другое решение - сначала в шаблоне делать проверку на наличие перевода айдишника для ноды в целом и только потом выводить значения. Как в template получать айди языка мы разбирали в одной из статей ранее.

{% if node.hastranslation(language) %}
	{% for items in node.field_punkt %}
		<div class="pretty_block">
			<div class="names">
				{{ items.entity.translation(language).field_titles.value }}
            </div>
        </div>
    {% endfor %}
{% endif %}

 

Добавить комментарий

Простой текст

  • HTML-теги не обрабатываются и показываются как обычный текст
  • Строки и абзацы переносятся автоматически.
  • Адреса веб-страниц и email-адреса преобразовываются в ссылки автоматически.