“作者”群组没有任何发布权。还行吧。所以编辑/管理员会对任何文章做出初步批准。
如果作者决定编辑已发布的文章,则会出现问题。当他从前端点击“保存”时,该项目立即变为未发布。(因为作者组无权发布项目)。所以,这至少对我来说是一个巨大的问题。
即使作者做出调整,我希望在管理员初次批准后仍然可以发布文章。知道怎么做这样的事吗?
这种逻辑是Joomla Core中默认的处理方式。
答案 0 :(得分:2)
您可能需要考虑从K2切换到像EasyBlog那样的其他东西......或者只是不要使用K2。 K2的默认设置似乎是遵循与您冲突的工作流程。
否则你可以修改K2以满足你的需要...我真的不建议修改扩展名,因为你不能再对它们进行更新,除非你打算每次更新时做出修改(这很痛苦) 。
您的问题在于administrator / components / com_k2 / models / item.php以下行是表单版本2.6.1第785行。
if ($front)
{
if (!K2HelperPermissions::canPublishItem($row->catid) && $row->published)
{
$row->published = 0;
$mainframe->enqueueMessage(JText::_('K2_YOU_DONT_HAVE_THE_PERMISSION_TO_PUBLISH_ITEMS'), 'notice');
}
}
如果我理解正确你想要更像的东西:
if ($front)
{
$row->published = 1;
if (!K2HelperPermissions::canPublishItem($row->catid) && $row->published && $isNew)
{
$row->published = 0;
$mainframe->enqueueMessage(JText::_('K2_YOU_DONT_HAVE_THE_PERMISSION_TO_PUBLISH_ITEMS'), 'notice');
}
}
如果我通过在if语句中添加$ isNew的检查来理解他们的模型,那么它只会将published = 0应用于新条目。如果我了解你,那是你唯一想要影响的人。这样,如果文章已经存在并且已经发布,那么除非管理员将其更改为未发布,否则它将始终保持发布状态。
我不确定这是否会按照我的预期运作,所以请告诉我。
答案 1 :(得分:1)
您应该允许作者编辑任何项目或禁用编辑作者文章的选项。
答案 2 :(得分:1)
转到您的joomla管理,转到k2菜单,然后在User Groups
标签中创建一个名为editors的组,并授予其Publish item
访问权限,然后返回Users
标签并将其放入要在编辑器组中进行编辑的用户。
确保您的编辑组用户有权访问Front-end item editing
和Edit any item
。
您的问题是因为您的编辑拥有Edit any item
访问权限,但他们无法访问Publish item
。
答案 3 :(得分:0)
您要设置的权限实际上是在k2用户组设置中。查找允许编辑已发布的项目并将其设置为是。
至少对于k2 v.2.6.7也是如此,尽管我认为自v.2.6.0或更早版本以来,任何权限设置都没有改变。