如何使用 Twig 中的变量设置路由参数名称?
How can I set the route parameter name using a variable in Twig?
我正在尝试将 url
Twig 函数与 Silex 一起使用来生成路由,但是当我使用传递给模板的变量名时,它会生成一条警告,提示我没有提供参数.
这是我传递给模板的数组:
[
"total_pages" => $pages,
"current_page" => $page,
"route_name" => "gallery_album",
"route_parameter" => "groupname",
"route_value" => $groupname
]
在我尝试使用的模板中:
{{ url(route_name, {route_parameter: route_value, 'page': page} ) }}
(页面变量值在模板中计算)
这是我正在构建的分页模板的一部分,因此我需要参数是一个变量,以便它可以应用于不同的页面。这是我在 运行 this:
时得到的错误
我觉得这很简单,我只是缺少一些基本的东西。
它认为route_parameter
是字符串键名而不是变量:
你可以这样做,例如:
{% set params = {'page': page, (route_parameter): route_value } %}
{{ url(route_name, params) }}
您可以使用 {{ app->path}}
或 {{ app->url }}
如果您在应用程序 class
中使用 Silex\Application\UrlGeneratorTrait
或使用这个
的替代方法
{{ app.url_generator.generate('homepage') }}
我正在尝试将 url
Twig 函数与 Silex 一起使用来生成路由,但是当我使用传递给模板的变量名时,它会生成一条警告,提示我没有提供参数.
这是我传递给模板的数组:
[
"total_pages" => $pages,
"current_page" => $page,
"route_name" => "gallery_album",
"route_parameter" => "groupname",
"route_value" => $groupname
]
在我尝试使用的模板中:
{{ url(route_name, {route_parameter: route_value, 'page': page} ) }}
(页面变量值在模板中计算)
这是我正在构建的分页模板的一部分,因此我需要参数是一个变量,以便它可以应用于不同的页面。这是我在 运行 this:
时得到的错误我觉得这很简单,我只是缺少一些基本的东西。
它认为route_parameter
是字符串键名而不是变量:
你可以这样做,例如:
{% set params = {'page': page, (route_parameter): route_value } %}
{{ url(route_name, params) }}
您可以使用 {{ app->path}}
或 {{ app->url }}
如果您在应用程序 class
Silex\Application\UrlGeneratorTrait
或使用这个
的替代方法{{ app.url_generator.generate('homepage') }}