url()函数Drupal 8的解释

时间:2016-09-03 16:26:33

标签: symfony drupal drupal-theming drupal-8

我对drupal很新,不得不做一些真正快速的小工作。在https://www.drupal.org/docs/8/theming/twig/functions-in-twig-templates处查看文档时,我看到了url()函数的字符串参数。

<a href="{{ url('view.frontpage.page_1') }}">{{ 'View all content'|t }}</a>

url()的价值是多少?

事实上,我试图获得相对路径。我用了

<a href="{{directory}}/solutions.html">Solutions</a>

但是,它对我没有用,因为{{directory}}每次都改变并导致url追加。有没有最好的做法?谢谢你的建议。

1 个答案:

答案 0 :(得分:0)

将URL添加到字符串中时,例如在文本描述中,core建议我们使用\ Drupal \ Core \ Url类。这有一些方便的方法:

基于路由的内部URL - Url :: fromRoute(),示例:Url :: fromRoute('acquia_connector.settings') 基于路径的内部URL - Url :: fromInternalUri(),示例:Url :: fromInternalUri('node / add') 外部URL - Url :: fromUri,示例:Url :: fromUri('https://www.acquia.com') 最后两种方法非常相似,主要区别在于fromInternalUri()已经假设一个'internal:'前缀,它告诉Drupal构建一个内部路径。值得一读的是支持哪些前缀,例如':entity'前缀可以帮助构建动态URI。

当您需要收缩并将链接显示为文本时,您可以使用toString()方法:Url :: fromRoute('acquia_connector.settings') - &gt; toString()。

如果您需要其他信息,请询问。