2012-03-18 122 views
4

因此,對於一個簡單的內部使用的頁面,我必須創建一個管理頁面,並且我想適當地做到這一點。鏈接到cakephp的管理頁面

我有一個問題,鏈接到說的管理頁面。

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

因此:第一個鏈接應該總是轉到帶有博客帖子的主頁面。 第二個鏈接應該到所述博客的管理區域。

這工作正常。但是當我在管理區域時,我再次點擊頂部鏈接,它會失敗。它仍然會預先設定url的「/ admin /」路徑。

當我將'admin' => false添加到第一個鏈接時,它再次運行,但我不知道這是否是「最佳實踐」。

回答

6

它是。管理區域中您想要轉至非管理區域的任何鏈接應具有'admin'=>false

1

如果不使用自定義的路線,你也可以寫你的鏈接是這樣的:

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

但是如果你想,然後修改網址,你不能再使用的路線。

+1

根據你的最後一句話,寫這樣的鏈接不是一個粘性的想法。不應該向某人推薦 - 特別是那些已經理解正確的CakePHP - 寫作鏈接的人。 – Dave 2012-03-19 13:10:46

+0

恕我直言,一個懂得在Cake中編寫鏈接的人的方式是知道有不同的方法來存在的人。然後由他來做出最符合他需要的選擇。這就是爲什麼我沒有掩蓋這種方法的缺點。 – nIcO 2012-03-19 13:19:11