it-swarm.com.de

Bedingte Ausgabe nach Inhaltstyp mit Twig

Ich möchte die Anzeige einer Ansicht basierend auf dem Inhaltstyp thematisieren. Bei meinen Versuchen habe ich die Ansichten erstellt, in denen alle Inhaltstypen angezeigt werden. Ich habe alle benötigten Felder hinzugefügt und auch ein Feld "Inhalt: Typ" eingefügt. In diesem Feld versuche ich, die Ausgabe unter bestimmten Bedingungen zu formatieren (wenn es sich um einen Blog-Inhaltstyp handelt, verwenden Sie diesen HTML-Code und für alle anderen Inhaltstypen einen anderen HTML-Code).

Dies ist, was ich bisher versucht habe, aber dieser Zustand löst überhaupt nicht aus

Ich habe ein Ansichts-Ansichtsfeld erstellt - myexample.html.twig

{% if fields.type.content == 'blog' %}
<div class="blog-content views-row">
  <div class="showcase" style="background-color: {{ fields.field_color.content }};">

</div>
{% else %}

<div class="other-content views-row">
   <div class="showcase">
   {{ fields.title.content}}
   {{ fields.field_image.content }}
   </div>
</div>
{% endif %}
6
ta-im-ok

Wahrscheinlich, weil {{ fields.type.content }} = <div class="something">blog</div>

also versuche

{% if fields.type.content|striptags == {{ 'blog'|t }} %}

Wenn Sie nicht |striptags Verwenden müssen, können Sie das Markup von der Views-Benutzeroberfläche entfernen .

Aktivieren Sie außerdem nicht das Kontrollkästchen Exclude from display Im Konfigurationsfeld, da Ihre Vorlagendatei in diesem Fall keinen Zugriff auf dieses Feld hat.

Randnotiz: Sie haben vergessen, das Div in Zeile 3 zu schließen.


Alternative

{% if row._entity.gettype == 'content_type_machine_name' %}

alternative Methode Kredit: 4K4

2
No Sssweat