我正在使用Symfony2和:
我在routing.yml中有这个
_welcome:
resource: "@AcmeBundle/Controller/"
type: annotation
Run Code Online (Sandbox Code Playgroud)
我在控制器中的这个方法:
/**
* @Route("/{page}")
*/
public function staticAction($page)
{
return $this->render('AcmeBundle:Static:'.$page.'.html.twig');
}
Run Code Online (Sandbox Code Playgroud)
要生成常用页面:
/home
/contact
/privacy
Run Code Online (Sandbox Code Playgroud)
但是当我在菜单上创建网址时:
<a href="{{ path('_welcome', {'page': 'home'}) }}">Home</a>
<a href="{{ path('_welcome', {'page': 'contact'}) }}">Contact</a>
<a href="{{ path('_welcome', {'page': 'privacy'}) }}">Privacy</a>
Run Code Online (Sandbox Code Playgroud)
而我Symfony生成这些网址:
…./?page=home
…./?page=contact
…./?page=privacy
Run Code Online (Sandbox Code Playgroud)
而权利将是:
/home
/contact
/privacy
Run Code Online (Sandbox Code Playgroud)
我必须做什么?
Ahm*_*ani 48
您需要在控制器路由注释中添加路由名称,如下所示,
/**
* @Route("/{page}", name="static")
*/
public function staticAction($page)
{
// ...
}
Run Code Online (Sandbox Code Playgroud)
然后,您可以path使用该名称调用twig 助手,
<a href="{{ path('static', {'page': 'home'}) }}">Home</a>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
46426 次 |
| 最近记录: |