it-swarm.com.de

So erhalten Sie den Wert user.field in node.twig

Ich habe ein field_author mit unterschiedlichen Werten expert, moderator or contributor

Um dieses benutzerdefinierte USER-Feld in node.twig abzurufen, verwende ich die nächste Funktion

function MYTHEME_preprocess_node(&$variables) {

if ($node = \Drupal::routeMatch()->getParameter('node')) {
                  $variables['author'] = $node->getOwner()->field_fname->value;
        }
    }
}

Und dann {{ author }} in node.twig

Wie bekomme ich Wert von diesem Feld? Beispielsweise {{ author.0 or author.1 or author.3}}?

Vielen Dank für Ihre Hilfe!

3

Tut field_fname wird Benutzern ein benutzerdefiniertes Feld hinzugefügt? Wenn ja, wie lautet der Feldtyp (Auswahl oder Textfeld) und wenn es sich um eine Auswahl handelt, wie viele Werte akzeptieren begrenzte oder unbegrenzte Werte?

auf jeden Fall können Sie dies für die Checkbox-Liste versuchen. Versuchen Sie dies

function MYTHEME_preprocess_node(&$variables) {

if ($node = \Drupal::routeMatch()->getParameter('node')) {
    $variables['author'] = $node->getOwner()->get('field_fname')->getValue();
  } 
}

node.twig:

{% if author.0.target_id == "expert" %}
<h1>Hello Expert<h1>
{% endif %}
2
MiharbKH

Sie können versuchen, die Variable node zu verwenden

Erhalten user.name

{{ node.uid.entity.name.value }}
2
vinhdv