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 のみが適用されます。私があなたを理解しているなら、あなたが影響を与えたいのはどれだけですか。このようにして、記事が既に存在し、公開されている場合、管理者が非公開に変更しない限り、常に公開されたままになります。
これが期待どおりに機能するかどうかはわかりませんので、お知らせください。