作者热门文章
- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
我正在使用 Symfony2 并且:
我在 routing.yml 中有这个
_welcome:
resource: "@AcmeBundle/Controller/"
type: annotation
我在 Controller 中使用此方法:
/**
* @Route("/{page}")
*/
public function staticAction($page)
{
return $this->render('AcmeBundle:Static:'.$page.'.html.twig');
}
生成通用页面:
/home
/contact
/privacy
但是当我在菜单上制作 url 时:
<a href="{{ path('_welcome', {'page': 'home'}) }}">Home</a>
<a href="{{ path('_welcome', {'page': 'contact'}) }}">Contact</a>
<a href="{{ path('_welcome', {'page': 'privacy'}) }}">Privacy</a>
我 Symfony 生成这些 url:
…./?page=home
…./?page=contact
…./?page=privacy
正确的是:
/home
/contact
/privacy
我必须做什么?
最佳答案
您必须在 Controller 路由注释中添加路由名称,如下所示,
/**
* @Route("/{page}", name="static")
*/
public function staticAction($page)
{
// ...
}
然后您可以使用该名称调用 twig path
助手,
<a href="{{ path('static', {'page': 'home'}) }}">Home</a>
关于php - 如何在 Symfony2/Twig 中正确地从模板生成 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15857358/
我是一名优秀的程序员,十分优秀!