6

“作者”组没有任何发布权限。还行吧。因此,编辑/管理员会初步批准任何文章。

如果作者决定编辑已经发表的文章,问题就来了。当他从前端点击“保存”时,该项目立即变为未发布。(因为作者组无权发布项目)。所以,这至少对我来说是个大问题。

即使作者进行了调整,我希望文章在获得管理员的初步批准后仍能继续发表。知道如何做这样的事情吗?

此逻辑是 Joomla Core 中的默认处理方式。

4

4 回答 4

2

您可能想要考虑从 K2 切换到其他类似 EasyBlog 的东西......或者只是不使用 K2。似乎 K2 的默认设置是遵循与您的工作流程冲突的工作流程。

否则,您可以修改 K2 以满足您的需要......我真的不建议修改扩展,因为这样您就不能再对它们进行更新,除非您计划每次更新时都进行修改(这很痛苦)。

您的问题位于管理员/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 应用于新条目。如果我理解你的话,这是你唯一想要影响的人。这样,如果文章已经存在并且已发布,它将始终保持发布状态,除非管理员将其更改为未发布。

我不确定这是否会按我期望的方式工作,所以请告诉我。

于 2012-11-21T20:51:05.717 回答
1

转到您的 joomla 管理,转到 k2 菜单并在User Groups选项卡中创建一个名为 editors 的组并授予它访问权限Publish item,然后返回Users选项卡并将那些您想要使其成为编辑器的用户放在 editors 组中。

确保您的编辑组用户有权访问Front-end item editingEdit any item

您的问题是因为您的编辑器可以Edit any item访问但他们无权访问Publish item.

于 2012-11-24T14:26:39.807 回答
1

您应该允许作者编辑任何项目或禁用为作者编辑文章的选项。

于 2012-11-17T21:04:23.747 回答
0

您要设置的权限实际上是在k2用户组设置中。查找Allow editor of already published items并将其设置为yes

至少对于 k2 v. 2.6.7 来说是这样,尽管我认为自 v.2.6.0 或更早版本以来没有任何权限设置发生变化。

于 2013-09-13T15:29:17.847 回答