连接到CakePHP中的管理页面

4

对于一个简单的内部页面,我需要创建一个管理员页面,并且希望做得更加专业。

但是我在链接到该管理员页面时遇到了一个问题。

<?php echo $this->Html->link("Blogposts",array('controller'=>'pages','action'=>'home')); ?>
<?php echo $this->Html->link("Administration",array('controller'=>'blogposts','action'=>'index','admin'=>true)); ?>

所以:第一个链接应始终指向帖子的主页面。第二个链接应指向所述博客文章的管理区域。
这很好用。但是当我在管理区域中,再次单击顶部链接时,它将失败。它仍将添加“/admin/”路径到URL。
当我在第一个链接中添加“'admin' => false”时,它又可以正常工作了,但我不知道是否符合“最佳实践”。
2个回答

6

没问题。任何想要跳转到非管理员区域的管理区域链接,都应该设置'admin'=>false


1

如果您不使用自定义路由,您也可以这样编写链接:

<?php echo $this->Html->link("Blogposts",'/pages/home'); ?>
<?php echo $this->Html->link("Administration",'/admin/blogposts'); ?>

但是如果你想修改URL,就不能再使用路由了。


1
根据你上一句话,像那样编写链接并不是一个好主意。不应该向任何人推荐这样做,尤其是那些已经了解正确的CakePHP链接编写方式的人。 - Dave
在我看来,真正理解如何在Cake中编写链接的人,是知道存在不同的方法。然后他可以根据自己的需求做出最佳选择。这就是为什么我没有隐藏这种方法的缺点。 - nIcO

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接