it-swarm.com.de

Wie kann ich verhindern, dass twig Debug HTML innerhalb von Tags beschädigt?

Ursprünglich wurde dies in einem Ansichtsfeld umgeschrieben, aber ich habe es seitdem verschoben

views-view-fields--[view name]--[machine ID].html.twig

Und das Verhalten scheint dasselbe zu sein:

 <a href="{{ fields.path.content}}" class="menu-item">{{fields.title.content}}<span data-background-image="{{ fields.field_image.content}}"></span></a>

Dies wird in Ordnung gebracht, wenn twig debug in development.services.yml auf false gesetzt ist. Wenn twig debug aktiviert ist, wird das Markup stark beschädigt.

Das heißt,.

<span data-background-image="

    <!-- THEME DEBUG -->
    <!-- THEME HOOK: 'views_view_field' -->
    <!-- BEGIN OUTPUT from 'themes/mytheme/templates/views/views-view-field.html.twig' -->


    <!-- THEME DEBUG -->
    <!-- THEME HOOK: 'image_url_formatter' -->
    <!-- BEGIN OUTPUT from 'modules/contrib/image_url_formatter/templates/image-url-formatter.html.twig' -->
    http://mysite.local/sites/default/files/styles/menus_image/public/menus/image.png?itok=1ZnZSCkX
    <!-- END OUTPUT from 'modules/contrib/image_url_formatter/templates/image-url-formatter.html.twig' -->


    <!-- END OUTPUT from 'themes/mytheme/templates/views/views-view-field.html.twig' -->

    "></span>

HTML unterstützt <!-- --> Innerhalb von Tags nicht, was das Kernproblem zu sein scheint. Gibt es eine Problemumgehung oder nur eine Einschränkung von Twig Debug?)?

6
baku

Sie können |render|striptags|trim twig Filter anwenden:

<a href="{{ fields.path.content|render|striptags|trim }}" class="menu-item">{{ fields.title.content }}<span data-background-image="{{ fields.field_image.content|render|striptags|trim }}"></span></a>

Wenn Sie beispielsweise div or img tags Speichern (nicht löschen) möchten, können Sie auch schreiben:

{{ fields.field_image.content|render|striptags('<div>, <img>')|trim }}

Hier gesehen https://www.drupal.org/node/2672656#comment-11821896