首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何从url引用中获取节点?

如何从url引用中获取节点?
EN

Drupal用户
提问于 2018-03-10 12:45:07
回答 2查看 9.6K关注 0票数 6

我有一个名为Application的自定义实体,它有一个Entity引用字段,名为Product

当我在一个应用程序页面上单击一个产品来查看它时,我想知道我来自应用程序页面,并且知道它的<>ID。

这将允许我在Product页面上显示Application页中的信息。

但是怎么做呢?

EN

回答 2

Drupal用户

发布于 2018-03-12 17:13:13

这种方法适用于我:

代码语言:javascript
运行
复制
use Symfony\Component\HttpFoundation\Request;
use Drupal\Core\Url;
// Getting the referer.
$request = \Drupal::request();
$referer = $request->headers->get('referer');
// Getting the base url.
$base_url = Request::createFromGlobals()->getSchemeAndHttpHost();
// Getting the alias or the relative path.
$alias = substr($referer, strlen($base_url));
// Getting the node.
$params = Url::fromUri("internal:" . $alias)->getRouteParameters();
$entity_type = key($params);
$node = \Drupal::entityTypeManager()->getStorage($entity_type)->load($params[$entity_type]);

//to use dpm you need the devel module
dpm($node->id());
dpm($node->title->value);
票数 10
EN

Drupal用户

发布于 2022-12-20 12:43:51

代码语言:javascript
运行
复制
$previousUrl = \Drupal::request()->server->get('HTTP_REFERER');
$fake_request = Request::create($previousUrl);
$url_object = \Drupal::service('path.validator')->getUrlIfValid($fake_request->getRequestUri());
$route_name = $url_object->getRouteName();
$url = Url::fromRoute($route_name, $url_object->getRouteParameters());
$previousPath = $url->getInternalPath();
票数 0
EN
页面原文内容由Drupal提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://drupal.stackexchange.com/questions/257450

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档