当前位置:  开发笔记 > 编程语言 > 正文

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

如何解决《从Drupal8中的链接字段中提取URL和标题?》经验,为你挑选了3个好方法。

我试图检索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.

谢谢你的帮助.



1> 小智..:

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

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

例如:

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

field_link 是有问题的链接字段的名称.



2> Kevin Wenger..:

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

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

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


+1,但你到底如何获得这些信息?在任何地方都有文档,我可以找到每种类型字段的每个属性的列表.例如:link> uri/title/...,text> value?
@FredK For Twig:`$ partner.field_lien.uri`

3> 小智..:

如果您有外部链接,只需捎带上面的内容,

$node->field_name->uri

会给你一个URL,但如果它是一个内部你可能需要调整一点:

use Drupal\Core\Url;

$mylink = Url::fromUri($node->field_name[0]->uri);
$mylink->toString();


感谢您的贡献。实际上,您可以使用** $ node-> field_name-> entity-> url(); **检索直接URL;希望我能为您提供帮助。
推荐阅读
linjiabin43
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有