Symfony(有点动态?)路由
问题描述:
我是symfony的新手。作为exersice我真的想做出一些基本的cms.And我想知道这是路由形式给出错误的:Symfony(有点动态?)路由
/**
* @Route("/back-office/", name="back-office")
*/
public function indexAction(Request $request,$page="")
{
switch($page){
case "":
return $this->render('CmsBundle:BackOffice:index.html.twig');
break;
default:
return $this->render('CmsBundle:BackOffice:site-map.html.twig');
break;
}
}
这是我的YAML confing:
back_office_pages:
path: /{page}
defaults: { _controller: CmsBundle:BackOffice:index}
通过这种形式给出我不会必须在yaml文件中配置每个路由。由于路线可能不同。但我不太确定这是symfony的做事方式,所以我决定征求意见。
我正在努力实现的目标: 可以说我们有一个用户后台编程时间较短或者根本就没有,并且他对CMS不屑一顾。目标是使用一些用户界面添加前端页面。然后我们将页面(slug)存储在数据库中。在索引操作中,我们检索这些数据。从数据库中,我们也可以将模板分配到一个页面(我们需要用户至少有一些HTML + CSS +树枝)。
所以我们要做的就是让用户添加的网页: 例如:画廊,联系人 我们检查请求的URL 如果请求的页面是从数据库中排列在我们返回相关页面的模板。
注意: 如果你不同意这种方法,请不要打击我,但eplain为什么这是错的。因为正如我所说,我对这个框架还是一个新的东西。
答
试试你的路由设置为:
back_office_pages:
resource: "@CmsBundle/Controller/"
type: annotation
设置路由注解你CmsBundle内。
然后,你的动作要使用URL“/后勤/ {PAGE}”
您正在使用的注释,而不是YAML配置路由的工作,不是吗? – Lumen
好吧,据我了解的文件,我需要他们两个。注释和YAML配置例如: back_office_pages: 路径:/ {PAGE} 默认值:{_controller:CmsBundle:的BackOffice:指数} 我心底把它添加到问题 – Newbie
您应该重命名'path'为'页面“,反之亦然。另外最好有一个动作,每页一个模板。 –