CakePHP中静态页面的链接,无需附加控制器
所以我在views>pages文件夹中创建了几个静态页面。它们是contact.ctp和privacy.ctp。在我的routes.php中,我这样做是为了通过访问domain.com/contact和domain.com/privacy来查看它们:CakePHP中静态页面的链接,无需附加控制器,php,cakephp,cakephp-1.3,Php,Cakephp,Cakephp 1.3,所以我在views>pages文件夹中创建了几个静态页面。它们是contact.ctp和privacy.ctp。在我的routes.php中,我这样做是为了通过访问domain.com/contact和domain.com/privacy来查看它们: Router::connect('/contact', array('controller' => 'pages', 'action' => 'display', 'contact')); Router::connec
Router::connect('/contact', array('controller' => 'pages', 'action' => 'display', 'contact'));
Router::connect('/privacy', array('controller' => 'pages', 'action' => 'display', 'privacy'));
<li><a href="<?php echo Router::url('/contact'); ?>">Contact</a></li>
现在,当我在页脚将它们链接到:
<li><?= $this->Html->link('Contact', array('controller' => 'pages', 'action' => 'display', 'contact')); ?></a></li>
<li><?= $this->Html->link('Privacy', array('controller' => 'pages', 'action' => 'display', 'privacy')); ?></a></li>
<li><a href="<?php echo Router::url('/contact'); ?>">Contact</a></li>
它们被链接为domain.com/页面/terms。我如何阻止它在不提供绝对url的情况下附加pages controller(即不执行:
或这是唯一的其他方法?使用实际链接
<a href ="/contact">Contact</a>
<li><a href="<?php echo Router::url('/contact'); ?>">Contact</a></li>
以及:
<a href ="/privacy">Privacy</a>
<li><a href="<?php echo Router::url('/contact'); ?>">Contact</a></li>
短而甜美的^ ^您可能会将这些路由放在
路由器::连接('/pages/*',数组('controller'=>'pages','action'=>'display'))之后;
只要颠倒顺序,它就会工作。路由
<li><a href="<?php echo Router::url('/contact'); ?>">Contact</a></li>
看法
输出
为了子孙后代,为了简洁起见,您可以使用
路由器::url()
<li><a href="<?php echo Router::url('/contact'); ?>">Contact</a></li>
似乎没有任何原因说明代码不能正常工作(Cake 1.3使用反向路由来实现您想要的功能)。您是否修改了任何核心功能?edit-Cake甚至在API中给出了以下示例:Router::connect('/home page',array('controller'=>'pages',action'=>'display',home'))
看来你的代码不错哦,是的!用蛋糕学习有很多复杂的东西,但我越学越喜欢它。非常感谢!