首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >生成任意内部URL

生成任意内部URL
EN

Drupal用户
提问于 2016-07-21 04:16:40
回答 1查看 1.4K关注 0票数 2

我正在自定义模块中的控制器中生成URL。我生成的URL是指向同一站点上的页面,而不是模块中的页面。我想将任意数量的子弹添加到基本URL的末尾。有些弹头依赖于来自其他API调用的返回值,因此无法预测有多少或它们将是什么。

我想要生成表单的$url变量:

代码语言:javascript
复制
'www.base-path-of-website.com'/any/number/of/arbitrary/slugs

我试过使用:

代码语言:javascript
复制
Url::fromRoute() 

但不知道如何从它得到网站的基本路线。或者如何添加任意的子弹。

这在Drupal 7和更早版本中是微不足道的,但我无法在Drupal 8中找到如何做到这一点。在Drupal 8中,如何从模块生成任意的内部URL?我该怎么做?

EN

回答 1

Drupal用户

回答已采纳

发布于 2016-07-21 06:15:04

来自用于Url::fromRoute()的Drupal文档

为具有Drupal路由的Url创建新的URL对象。此方法用于具有Drupal路由(即Drupal生成的大多数页面)的URL。对于相对于基本路径(如robots.txt)的非路由本地URI,请使用Url::fromUri()和base: path。

对于此方法,需要提供模块的.routing.yml文件中定义的路由名称,以及路由中的参数数组:

代码语言:javascript
复制
\Drupal\Core\Url::fromRoute('mymodule.my_route', array('route_param' => 'param_value'))->toString();

或者,如果您没有插入的路由,可以使用Url::fromUri()作为指定的文档:

代码语言:javascript
复制
\Drupal\Core\Url::fromUri('base:/any/number/of/arbitrary/slugs',array('absolute' => TRUE))->toString();
票数 3
EN
页面原文内容由Drupal提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

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

复制
相关文章

相似问题

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