Extraire l'URL & amp; Titre du champ de lien dans Drupal 8?
Je suis en train de récupérer le URL et la Titre valeurs d'une Champ lien dans Drupal 8.
Dans mon custom contrôleur, j'ai récupérer les nœuds avec:
$storage = \Drupal::entityManager()->getStorage('node');
$nids = $storage->getQuery()
->condition('type', 'partners')
->condition('status', 1)
->execute();
$partners = $storage->loadMultiple($nids);
Quand je boucle à travers tous mes nœuds, prétraiter vars, je vais donner mon point de vue, je voudrais récupérer le URL et la Titre.
foreach ($partners as $key => $partner) {
$variables['partners'][] = array(
'image' => $partner->field_logo->entity->url(),
'url' => $partner->field_link->value, //Can't retrieve values of link field
);
}
Malheureusement, je n'ai pas trouvé comment récupérer le URL et la Titre de field_link.
Merci pour votre aide.
source d'informationauteur Kevin Wenger
Vous devez vous connecter pour publier un commentaire.
Au niveau du nœud, à l'intérieur de votre template Twig, vous pouvez utiliser:
{{ content.field_link.0['#url'] }}
&{{ content.field_link.0['#title'] }}
Par exemple:
<a href="{{ content.field_link.0['#url'] }}">{{ content.field_link.0['#title'] }}</a>
field_link
étant le nom du champ lien en question.Je viens de trouver la solution ...
Mon mal, espérons que ça pourrait aider quelqu'un.
Juste de se greffer sur le dessus, si vous avez un lien externe,
Va vous donner l'URL, mais si c'est une interne, vous devrez peut-être modifier un peu plus:
Mise à jour de Drupal 8
Pour obtenir l'url tout ce que vous devez faire est de:
Pour obtenir le lien de texte:
Vous pouvez vous rendre soit l'uri ou le texte d'un champ lien directement dans le template twig. Dans le cas d'un nœud, vous pouvez utiliser l'une des opérations suivantes dans le fichier de template twig (ce qui suppose que le nom de l'ordinateur de votre champ de lien est
field_link
):Celui-ci travaille pour moi dans twig:
*vous devez utiliser: "Séparer le texte du lien et l'URL" widget écran
Je suis en train de faire ce lien de séparation pour ECK champs et cette solution m'a vraiment aidé. J'ai mis à jour le code pour ECK champs pour appliquer de style en ligne dans twig fichier comme ceci:
<a style="color: {{ entity.field_link_color[0] }};" href="{{ entity.field_link[0]['#url'] }}"> {{ entity.field_link[0]['#title'] }} </a>
Pour obtenir l'url:
{{ entity.field_link[0]['#url'] }}
Pour obtenir le lien titre:
{{ entity.field_link[0]['#title'] }}