将Safecracker表单上的动态author_id设置为非Super Admin组

时间:2012-11-12 05:07:56

标签: expressionengine author safecracker

我有一个项目,我需要一个名为Staff Admin的成员组(比Super Admin略低的权限)才能通过Safecracker表单代表网站成员公开输入数据。现在我能够在表单上成功设置'author_id'(使用隐藏输入),并且在Super Admin组下登录的用户可以成功发布新条目并在条目上设置指定的author_id。

问题在于即使我有'Staff Admin'组设置允许编辑和更改作者的条目,我也无法在Safecracker表单上执行此操作,并且忽略指定的'author_id'并且我是收到“invalid_author”触发的错误(所选作者无效。)

认为Api_channel_entries.php中的行大约是1246(在EE 2.4下),它只想作为例外对Super Admin组进行身份验证:

if ($data['author_id'] != $this->EE->session->userdata('member_id') && $this->EE->session->userdata('group_id') != 1)

我有什么想法可以绕过这个问题?

1 个答案:

答案 0 :(得分:1)

正在触发该错误,因为您尝试重新分配条目的作者ID不是该频道的指定有效作者之一。要解决此问题,您需要编辑成员组(您尝试将条目分配给的用户)并启用“在PUBLISH中包含成员页面多作者列表?”设置。

可能还需要通过会员管理>为每个用户启用该设置。修改会员>会员偏好> “在PUBLISH页面多作者列表中包含用户?”