Как я могу использовать Twig для создания необработанных рабочих HTML-ссылок в Drupal 8 View? - PullRequest
0 голосов
/ 31 декабря 2018

Проблема
Из шаблона пользовательского представления я пытаюсь вывести переменную ветки в виде необработанных данных внутри тега <a href="">, но она ничего не выводит?

Что я пробовал
Я пытался использовать плагин Twig Tweak, следуя инструкциям на их шпаргалке (https://www.drupal.org/docs/8/modules/twig-tweak/cheat-sheet-8x-2x), но это не работает. Я также пробовалраспечатав это так

{{ fields.buy_now_link.content | raw }}

, но безуспешно.

Эта статья переполнения стека ( Доступ к необработанным данным в шаблоне представления Drupal 8 ) предоставляет решение путем настройкиих собственная переменная в файле темы, но она кажется немного запутанной и громоздкой?

Это то, что у меня есть
В Drupal 8 у меня есть тип контента под названием Albums, которыйимеет поле «Обычный текст» под названием «Купить сейчас ссылку». Здесь пользователь вводит URL-адрес, который представляет собой обычную текстовую строку, например:

/music/album/buy-now.html 

Я добавил представление для этого поля и создалпользовательский шаблон представления с именем views-view-fields--music-album.html.twig , и я пытаюсь распечатать поле как необработанные данные, например, так:

<a href="{{ fields.buy_now_link.content }}">Buy Now</a>

Проблема в том, что когда я вижу это в браузере, оно вообще ничего не показывает.Однако, если я распечатаю его вне тегов <a>, он работает отлично.

Ожидаемые результаты
Ожидаемые результаты этого процесса будут следующими:

<a href="{{ fields.buy_now_link.content }}">Buy Now</a>

для распечатки в браузере следующим образом:

<a href="/music/album/buy-now.html ">Buy Now</a>

Буду признателен за любую помощь.Спасибо!

1 Ответ

0 голосов
/ 03 января 2019

Я разобрался с ответом на свой вопрос.Это так же просто, как взять нужную переменную и добавить ее с помощью фильтра striptag .

Для удобства чтения вы можете добавить переменную.Например.

Если моя переменная ветки {{ fields.buy_now_link.content }}

, тогда я буду использовать ее для установки пользовательской переменной, используя мой собственный идентификатор, такой как myURL

{% set myURL = fields.buy_now_link.content %}

Тогда я могу использовать это двумя разными способами:

Вариант один:

{{ myURL|striptags }}

или второй вариант:

{% filter|striptags %}
        {{ myURL.content }}
{% endfilter %}

Наконец
Теперь мы можем сделать что-то вроде этого:

<a href="{{ myURL }}">Buy Now</a>

ЕслиПервый вариант не работает для вас, попробуйте второй вариант.

...