Drupal 8 - как мне извлечь URL-адрес из заголовка узла
Я могу напечатать заголовок своего content-type
, используя {{ fields.title.content }}
. и он отображается как <a href='...'>Title of the content</a>
. Я создал View
(режим просмотра: поле) и показал список доступных продуктов на этой странице. Чтобы настроить внешний вид страницы, я скопировал файл views-view-fields.html.twig
из core/themes/stable/template/views
в каталоге шаблонов моей темы и настроил его следующим образом.
<div class="col-md-2 col-sm-2 col-xs-12">
<div class="box-gray-border-only border-radius-5 padd-all-5">
{{ fields.field_product_image.content }}
</div>
</div>
<div class="col-md-10 col-sm-10 col-xs-12">
<h3 class="item-list-title-anchor margin-auto larger">{{ fields.title.content }}</h3>
<p class="margin-t10 small">{{ fields.field_product_summary.content|striptags|convert_encoding('UTF-8', 'HTML-ENTITIES') }}</p>
</div>
<div class="clearfix"></div>
<div class="row">
<div class="col-md-12 col-sm-12 col-sx-12 text-right">
<span>{{ fields.field_category.content }}</span> |
<span><b class="text-red">Price: {{ fields.field_product_price.content }}</b></span>
<a title="{{ fields.content.title }}" class="btn btn-warning" href="{{ path('entity.node.canonical', { 'node' : node.id}) }}">View »</a>
</div>
<div class="clearfix"></div>
</div>
<div class="margin-t20"></div>
<hr />
Само название связано со страницей продукта. Но у меня есть дополнительная кнопка просмотра, которую я хочу отдельно связать со страницей продукта также. Чтобы сделать то же самое, я попытался извлечь часть URL
из title
с помощью {{ path('entity.node.canonical', { 'node' : node.id}) }}
. Но это дает мне следующее сообщение об ошибке.
Symfony\Компонент\Маршрутизация\Исключение\Недопустимый параметр Исключение: Параметр "узел" для маршрута "entity.node.canonical" должен соответствовать "\d+" (""задано) для создания соответствующего URL-адреса. в Drupal\Core\Маршрутизация\Генератор URL->Догенерация() (строка 193 из core\lib\Drupal\Core\Routing\UrlGenerator.php ).
Я имею в виду это статья: https://chromatichq.com/blog/creating-links-within-twig-templates-using-path-and-url
Что я сделал не так?
Вот чего я хочу достичь:
Я использовал {{ dump(fields.title.content) }}
, чтобы посмотреть, могу ли я получить доступ к URL
, но ничего подобного не было.
1 answers
Попробуйте {{ path('entity.node.canonical', { 'node' : row.nid}) }}
. Также лучше использовать kint
или devel_dump
для отладки ветки.