CakePHP中根页面的路由器管理

时间:2016-04-15 12:28:08

标签: php cakephp cakephp-3.0

我的cakephp版本是3.2。我想在路由器中管理CMS页面。我的cms页面看起来像 -

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 =' about-us',' contact-us',' privacy-policy',' faq'等。

这是我的路由器已经调用默认的根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

1 个答案:

答案 0 :(得分: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

经过测试并且对我来说很好。