我试图检索URL和标题一个值链接字段中的Drupal 8.
在我的自定义控制器中,我检索节点:
$storage = \Drupal::entityManager()->getStorage('node'); $nids = $storage->getQuery() ->condition('type', 'partners') ->condition('status', 1) ->execute(); $partners = $storage->loadMultiple($nids);
当我循环遍历所有节点时,为了预处理变量,我将提供给我的视图,我想检索URL和标题.
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 ); }
不幸的是,我没有找到如何检索URL和标题的FIELD_LINK.
谢谢你的帮助.
在节点级别,在Twig模板内,您可以使用:
{{ content.field_link.0['#url'] }}
& {{ content.field_link.0['#title'] }}
例如:
{{ content.field_link.0['#title'] }}
field_link
是有问题的链接字段的名称.
我刚刚找到解决方案......
$partner->field_lien->uri // The url $partner->field_lien->title // The title
我的坏,希望它可以帮助某人.
如果您有外部链接,只需捎带上面的内容,
$node->field_name->uri
会给你一个URL,但如果它是一个内部你可能需要调整一点:
use Drupal\Core\Url; $mylink = Url::fromUri($node->field_name[0]->uri); $mylink->toString();