我的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
答案 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
经过测试并且对我来说很好。