我正在使用带有Auth组件的cakephp 2.0 ACL。 我的群组表包含3种类型的管理员,经理和用户
我在Core.php文件中启用了Routings
Configure::write('Routing.prefixes', array('admin','manager','user'));
default.ctp文件包含以下链接到产品的行:
$this -> Html -> link(__('Products'), array('controller' => 'products','action' => index'));
当我以管理员身份登录时,上述链接为http://www.example.com/admin/products/index
当我以经理身份登录时,上面的链接是http://www.example.com/products/index
组名称“manager”未在产品之前附加
当我以管理员身份登录时,我需要以下输出
http://www.example.com/manager/products/index
答案 0 :(得分:1)
在视图中尝试以下行:
$this->Html->link(__('Products'), array('controller' => 'products','action' => index','manager'=>true));
同样,将'manager'=>true
添加到传递给HtmlHelper::link()
方法的选项列表中,或者在URL中需要的前缀名称(即admin,manager ...)。
要确定当前使用的前缀,您可以使用以下代码段:
$opts = Router::parse(Router::url(''));
$prefix = $opts['prefix']; // Contains 'admin' or 'manager', etc.
然后,您可以将$prefix=>true
作为Html链接方法的选项传递。