当我正在转换这个 j1.5 站点时,我已经能够从ContentViewArticle
类中找到类似的 j2.5 属性 - 但我似乎找不到一个,$access
所以我现在得到这个错误:
未定义的属性:ContentViewArticle::$access
j2.5中的类似属性是什么?
我不太确定我是否理解正确,但假设您正在处理模板覆盖,您可以从模板创建 $access 属性。
$this->access = new stdClass;
$this->access->canEdit = $this->user->authorise('core.edit', 'com_content.article.'.$this->item->id);
$this->access->canEditOwn = $this->user->authorise('core.edit.own', 'com_content.article.'.$this->item->id);
$this->access->canPublish = $this->user->authorise('core.edit.state', 'com_content.article.'.$this->item->id);
在 Joomla 1.6+ 中,旧的“访问”系统被一个更全面的 ACL 所取代,该 ACL 使用#_assetts
表等。
实际上并没有直接映射到旧机制,因为每个站点现在都可以创建自己的访问和查看级别,这可能与原始设置无关。
您可以在此处找到 ALC 教程,其中包含了相当深入的内容。
要使用 ACL 系统,您可能还需要阅读“向组件添加 ACL 规则”
作为一般说明,Joomla Docs站点有一个很好的开发者登录页面,您可能还想查看它。