2016-04-15 51 views
1

我的cakephp版本是3.2。我想在路由器中管理CMS頁面。我的CMS頁面會看起來像 -CakePHP中根頁面的路由器管理

http://www.sitename.com/about-us 
http://www.sitename.com/contact-us 
http://www.siteame.com/privacy-policy 
http://www.sitename.com/faq etc. etc. 

以上所有的網址在呼喚一個動作http://wwwsitename.com/pages/cms_page/seo-url

SEO-URL = '關於美', '接觸我們', '隱私政策',「常見問題等。

這裏是我的路由器已經調用默認根URL爲 -

$routes->connect('/', ['controller' => 'Users', 'action' => 'index']); 

告訴我如何在路由器管理頁面CMS?

編輯

表:

+----+-----------+------------+-------------+ 
| id | title  | seo  | description | 
+----+-----------+------------+-------------+ 
| 1 | About Us | about-us | content here| 
| 2 | Contact Us| contact-us | content here| 
+----+-----------+------------+-------------+ 

網頁如果網站管理員會改變我的about-us SEO列名aboutus然後我的網址如下 - http://www.sitename.com/aboutus

+0

這可能會幫助你http://stackoverflow.com/questions/6213883/cakephp-routing-home-slug-as-url – skywalker

回答

1

是cms_page行動頁面控制器是在整個應用程序中訪問的唯一操作?

如果是這樣嘗試:

Router::connect('/*', ['controller' => 'Pages', 'action' => 'cms_page']); 

編輯

你不解釋,你有頁面上的其他網頁。考慮到這一點,您需要分別具有來定義每條路線。

嘗試:

Router::connect('/about-us', ['controller'=>'Users', 'action' => 'index', 'about-us']); 
Router::connect('/contact-us', ['controller'=>'Users', 'action' => 'index','contact-us']); 
Router::connect('/privacy-policy', ['controller'=>'Users', 'action' => 'index','privacy-policy']); 
Router::connect('/faq', ['controller'=>'Users', 'action' => 'index','faq']); 

http://book.cakephp.org/3.0/en/development/routing.html#routes-configuration

測試和對我工作的罰款。

+0

它的工作,但其他網頁受到影響。 – Shaddy

+0

是的,你沒有提到你的應用程序中有其他控制器。如果你提到了這個問題,我可以早點給你一個更好的答案..看看我的編輯。歡呼聲 –

+0

@JasonJoslin我看到了你編輯的答案。但是你已經在'about-us','contact-us'等路由中添加了靜態的,但是如果站點管理員將'about-us'改爲'aboutus',那麼我的當前頁面'about-us'。所以我在關於頁面中獲得了空數據。 – Chinmay235