I'm trying to retrieve the URL and the Title values of a Link field in Drupal 8.
In my custom controller, I retrieve the nodes with:
$storage = \Drupal::entityManager()->getStorage('node');
$nids = $storage->getQuery()
->condition('type', 'partners')
->condition('status', 1)
->execute();
$partners = $storage->loadMultiple($nids);
When I loop throught all my nodes, to preprocess vars I'll give to my view, I would like to retrieve the URL and the Title.
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
);
}
Unfortunately, I don't found how to retrieve the URL and the Title of field_link.
Thanks for your help.
At the node level, inside your Twig template you can use:
{{ content.field_link.0['#url'] }}
& {{ content.field_link.0['#title'] }}
For example:
<a href="{{ content.field_link.0['#url'] }}">{{ content.field_link.0['#title'] }}</a>
field_link
being the name of the link field in question.