提取网址 &Drupal 8 中链接字段的标题?

2021-12-29 00:00:00 php drupal-8 drupal

我正在尝试检索 URL 和 Title 值Drupal 8 中的 rel="noreferrer">链接字段.

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);

当我遍历所有节点时,为了预处理我将提供给我的视图的变量,我想检索 URL 和 Title.

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
    );
}

很遗憾,我没有找到如何检索 URL 和 field_link 的Title.

Unfortunately, I don't found how to retrieve the URL and the Title of field_link.

感谢您的帮助.

推荐答案

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

At the node level, inside your Twig template you can use:

{{ 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 是相关链接字段的名称.

field_link being the name of the link field in question.

相关文章