Drupal 8 Сохранение узлов на основе пользователей

У меня две роли в Drupal 8: редактор, менеджер. Редактор может добавлять узлы как неопубликованные, а менеджер может просматривать узлы и утверждать/опубликовывать их на веб-сайте.

Для администрирования я использую тему SEVEN по умолчанию для добавления/редактирования узлов. Как я могу скрыть кнопку «Сохранить и опубликовать» только для роли редактора?

Возможно ли это, вызвав хук шаблона node_presave? Я пробовал код ниже, но не работает.

function seven_node_presave($node) {
    global $user;

    if (in_array('editor',$user->roles)){
        $node->status = FALSE;
    }
}

Может ли кто-нибудь предложить решение для этого?


person Sravanthi    schedule 06.01.2017    source источник
comment
Вероятно, лучше задать вопрос на Drupal Answers   -  person Kryten    schedule 06.01.2017
comment
Вы смотрели рабочий процесс (drupal.org/project/workflow) или параметры узла переопределения. То, что вы описываете, должно быть установлено в разрешениях. (drupal.org/project/override_node_options)   -  person stacey.mosier    schedule 10.01.2017


Ответы (1)


Возможно, это не тот ответ, который вы ищете, но я нашел это действительно полезным в свое время:

Рабочий процесс Lightning — из дистрибутива Lightning, стабильный и простой, но если вы уже начали свой проект, вряд ли он подойдет.

Рабочий процесс - для D8 все еще находится в стадии бета-тестирования, но я использовал его на D7, действительно мощный и без проблем справляется с такими вещами, как ваша ситуация.

person Rotari Radu    schedule 07.01.2017