用 Twig 附加到当前 URL?

Append onto current URL with Twig?

我目前正在使用 Slim、Twig 和 PHP 制作一个简单的文件托管脚本。现在我正在尝试使用 Twig 附加到当前 URL 但我不确定如何执行此操作。我试过 /panel/{{ newURL }},但它总是将我重定向到 /panel/newurl。我需要能够动态更新此 URL。

例如,如果我想在 /panel/core/ 上转到 /tests,我需要能够将其附加到当前 URL。 Twig 是否提供了一种方法来做到这一点?谢谢。

我最终只是在我的视图参数中传递了 'url' => $request->getUri()->getPath()。我认为这是一个相当不错的方法,因为您可以调用 getUri() 上的其他方法来根据您想要执行的操作获得不同的结果。

你可以使用 twig 中的内置参数 {{ app.request.uri.path }}

你用 Twig 来渲染你的路径吗?我认为您的应用程序应该始终能够解析路径,因此也让应用程序本身呈现它们 ;-)

如果有帮助的话;可以将当前请求的参数添加到路径渲染中:

{{ path('yourpath', app.request.query.all|merge({'myparam': 'value'})) }}

您需要确保在要追加的 URL 中包含所有路由 查询字符串参数。

这是一个将 foo=bar 附加到当前 URL 的示例:

{{ path(app.request.attributes.get('_route'), app.request.attributes.get('_route_params')|merge(app.request.query.all)|merge({'foo': 'bar})) }}