我是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爲什麼這是錯的。因爲正如我所說,我對這個框架還是一個新的東西。
您正在使用的註釋,而不是YAML配置路由的工作,不是嗎? – Lumen
好吧,據我瞭解的文件,我需要他們兩個。註釋和YAML配置例如: back_office_pages: 路徑:/ {PAGE} 默認值:{_controller:CmsBundle:的BackOffice:指數} 我心底把它添加到問題 – Newbie
您應該重命名'path'爲'頁面「,反之亦然。另外最好有一個動作,每頁一個模板。 –