从 Drupal 8 中的链接字段中提取 Url 和标题?

2022-08-30 19:27:53

我正在尝试在Drupal 8中检索链接字段URL标题值。

在我的自定义控制器中,我检索节点:

$storage = \Drupal::entityManager()->getStorage('node');
$nids = $storage->getQuery()
    ->condition('type', 'partners')
    ->condition('status', 1)
    ->execute();

$partners = $storage->loadMultiple($nids);

当我遍历所有节点时,为了预处理我将提供给我的视图的vars,我想检索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
    );
}

不幸的是,我没有找到如何检索URLfield_link标题

感谢您的帮助。


答案 1

在节点级别,在 Twig 模板中,您可以使用:

{{ content.field_link.0['#url'] }} & {{ content.field_link.0['#title'] }}

例如:

<a href="{{ content.field_link.0['#url'] }}">{{ content.field_link.0['#title'] }}</a>

field_link是相关链接字段的名称。


答案 2

我刚刚找到了解决方案...

$partner->field_lien->uri // The url
$partner->field_lien->title // The title

我的坏,希望它可以帮助某人。


推荐