Рейтинг:-1

HTML not rendered in text field content type

флаг cn

In my content type, I have a text field that will display a string (max 200 characters) in a Bootstrap card. Due to the design, we have to allow the user to add a < br /> or \ n to add "invisible lines" to ensure content is wrapped correctly in the card.

By adding "< br /> to the field however, in twig, the < br /> is printed to screen and not HTML rendered. I have tried:

<p>{{content.field_copy}}</p>    
<p>{{content.field_copy|raw}}</p>
<p>{{content.field_copy|render}}</p>

With no affect. What other options do I have? Can this be done using a text field?

4uk4 avatar
флаг cn
Для этого варианта использования Drupal имеет целую экосистему с форматированными текстовыми полями, текстовыми форматами и текстовыми фильтрами. Не пытайтесь сделать это самостоятельно. Есть много соображений безопасности.
Рейтинг:0
флаг cn

это плохая практика, но все же

{{ content.field_copy.0['#context'].value|raw }}
4uk4 avatar
флаг cn
Это не только плохая практика, это чрезвычайно опасно. Drupal хранит пользовательский ввод в том виде, в каком он есть в базе данных, и безопасность сайта Drupal зависит от того, что он не отображается без очистки.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.