Наш раздел новостей имеет простое текстовое поле для заголовка статьи. Во время разработки это казалось хорошей идеей, однако после запуска некоторые языки, такие как французский, имеют специальные символы, которые теперь вызывают проблемы с рендерингом, например:
Отображается как:
Я понимаю, почему это происходит, поскольку текстовые поля «экранируются» по соображениям безопасности. Проблема здесь в ретроспективе:
- Мы не можем удалить поле или «преобразовать» поле в форматированный текст, поскольку для этого потребуется, чтобы все языки переделывали все статьи.
- Мы не можем добавлять какие-либо дополнительные фильтры в «представление», так как нет фильтра, позволяющего мне сказать «пожалуйста, разрешите определенные символы», так как в этом случае l' считается экранированным символом в базе данных.
Я предполагаю, что мой единственный вариант - попытаться переопределить значение в моем файле ветки: (views-view-fields--news.html.twig):
<div class="col-md-4">
<div class="card newscard"> {{ fields.field_summary_image.content }}
<div class="card-body">
<h5 class="card-title">
<a href="{{ fields.view_node.content|render|striptags|trim }}">{{ fields.field_article_title.content|render|striptags }}</a>
</h5>
<p>{{ fields.created.content|render|striptags|trim }}</p>
</div>
</div>
</div>
Однако я попытался получить необработанное значение, но не могу получить необработанное значение, поскольку это отображаемое «поле» (которое отображает обертку HTML вместе с содержимым).
Я также попытался переместить это в неформатированное представление (views-view-unformatted--news.html.twig):
<div class="card-deck" id="ajaxnewscontainer">
{% for row in rows %}
<div class="col-md-4">
<div class="card newscard"> {{ fields.field_summary_image.content }}
<div class="card-body">
<h5 class="card-title">
<a href="{{ fields.view_node.content|render|striptags|trim }}">{{ fields.field_article_title.content|render|striptags }}</a>
</h5>
<p>{{ fields.created.content|render|striptags|trim }}</p>
</div>
</div>
</div>
{% endfor %}
</div>
Однако в этом сценарии я не получаю никаких значений, так как выполнение {{dump(row) }} делает мои 32 ГБ ОЗУ бесполезными, поэтому я не могу определить, как получить элементы массива "row", чтобы я мог, надеюсь, получить " необработанное» значение fields.field_article_title.content|render|striptags
Любые идеи?