2012-03-18 10 views
4

私は簡単な内部使用ページのために管理ページを作成しなければなりません。cakephpの管理ページにリンクする

上記の管理ページへのリンクに1つ問題があります。

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

したがって、最初のリンクは常にblogpostsでメインページに移動する必要があります。 2番目のリンクは、前記blogpostsの管理領域に移動する必要があります。

これは問題なく動作します。しかし、私が管理領域にいて、もう一度トップリンクをクリックすると、失敗します。それはまだURLに "/ admin /"パスを付加します。

最初のリンクに'admin' => falseを追加すると、再び動作しますが、それが「ベストプラクティス」かどうかはわかりません。

答えて

6

です。管理者エリア以外の場所に移動するリンクは、'admin'=>falseにする必要があります。

1

カスタムルートを使用しない場合も、この方法であなたのリンクを書くことができます:

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

しかし、あなたはもうルートを使用することはできませんURLを変更し、次にしたい場合。

+1

あなたの最後の文章では、そのようなリンクを書くことはグーグルなアイデアではありません。誰か、特に正しいCakePHPを理解している人、特にリンクを書く人にはお勧めできません。 – Dave

+0

IMHO、Cakeでリンクを書く方法を理解している人は、それを行うためのさまざまな方法が存在することを知っている人です。それで彼のニーズに最も合った選択をするのは彼次第です。それが私がこの方法の欠点を隠さなかった理由です。 – nIcO

関連する問題