2012-03-09 9 views
2

私は、認証コンポーネントでcakephp 2.0 ACLを使用しています。 3種類の管理者、管理者およびユーザーが含まれているテーブル私のグループは Cakephpルーティングで追加しないユーザタイプ(グループ名)の名前

私は

Configure::write('Routing.prefixes', array('admin','manager','user')); 

default.ctpにファイルが製品にリンクする次の行を含むファイルcore.phpの中にルーティングを有効に:

$this -> Html -> link(__('Products'), array('controller' => 'products','action' => index')); 

私が管理者として上記のリンクにログインしたときhttp://www.example.com/admin/products/index
私がマネージャーとしてログインしたとき、上記のリンクはhttp://www.example.com/products/index グループ名 "manage同様に

$this->Html->link(__('Products'), array('controller' => 'products','action' => index','manager'=>true)); 

を、へ'manager'=>trueを追加:r」はビューでこのラインを試してみてください、私は

http://www.example.com/manager/products/index    

答えて

1

管理者としてログインしたときに、私は次の出力が必要な製品

の前に追加されていませんHtmlHelper::link()メソッドに渡されるオプションのリスト、またはURLに必要なプレフィックス名(つまり、管理者、マネージャー...)。現在使用されている接頭辞、あなたはこのスニペットを使用することができます動作するように

$opts = Router::parse(Router::url('')); 
$prefix = $opts['prefix']; // Contains 'admin' or 'manager', etc. 

あなたは、オプションのHTMLリンク方式として$prefix=>trueを渡すことができます。

+0

私はmanager => TRUEを与え、ADMINとしてログインしている間はURLはhttp://www.example.com/manager/products/indexです。 – AnNaMaLaI

+0

はい、プレフィックスの名前を本当の値として渡すので、あなたの場合は '' admin '=> true'と設定します。 –

+0

adminとmanagerの両方に同じリンクを使用しています。この$ this-> Html-> link(__( 'Products')、array( 'controller' => 'products'、 'action' = > index '、' manager '=> true、' admin '=> true));正しい ? – AnNaMaLaI

関連する問題