Перейти к основному содержимому

Параметры конфигурации

Доступные опции

pimcore:   
workflows:

# Прототип
name:
# Плейсхолдеры в этой конфигурации workflow (например locale: "%%locale%%") будут заменены указанным значением (например "de_AT")
placeholders:
# Пример:
placeholders:
%%locale%%: de_AT

# Может использоваться для включения или отключения workflow.
enabled: true

# При наличии нескольких конфликтующих настроек вида/прав доступа из разных workflow будет использован workflow с наивысшим приоритетом.
priority: 0

# Имя workflow, отображаемое в backend. Если не задано, будет использовано техническое имя workflow.
label: ~

# Включение стандартной функции аудита, предоставляемой Symfony. Ознакомьтесь с документацией Symfony для получения более подробной информации.
audit_trail:
enabled: false

# Тип workflow: «workflow» (по умолчанию, допускает множественные активные места) или «state_machine» (только одно место одновременно). Ознакомьтесь с документацией Symfony для получения более подробной информации.
type: ~ # Допустимые значения "workflow"; "state_machine"

# Определяет способ хранения текущего состояния/мест. Если не задано, используется state_table. Ознакомьтесь с разделом "Хранилище маркировок" документации Pimcore workflow, чтобы ознакомиться с описанием различных типов.
marking_store:
type: ~ # Допустимые значения "multiple_state"; "single_state"; "state_table"; "data_object_multiple_state"; "data_object_splitted_state"
arguments: []
service: ~

# Список поддерживаемых классов сущностей. Ознакомьтесь с документацией Symfony для получения более подробной информации.
supports:

# Пример:
- \Pimcore\Model\DataObject\Product

# Позволяет задать логику, какие субъекты поддерживаются workflow. Например, только продукты, соответствующие определенным критериям. Для получения более подробной информации загляните на страницу стратегии поддержки в документации Pimcore workflow.
support_strategy:

# Примеры:
type: expression
arguments:
- \Pimcore\Model\DataObject\Product
- subject.getProductType() == "article" and is_fully_authenticated() and "ROLE_PIMCORE_ADMIN" in role_names

# Тип "expression": выражение symfony для определения критерия.
type: ~ # Допустимые значения "expression"
arguments: []

# Имя сервиса для кастомной логики. Ознакомьтесь с документацией Symfony для получения более подробной информации.
service: ~

# Возможность задать несколько начальных мест.
initial_markings: []

places:

# Пример:
places:
closed:
label: close product
permissions:
-
condition: is_fully_authenticated() and 'ROLE_PIMCORE_ADMIN' in role_names
modify:
-
modify:
objectLayout: 2

# Прототип
-

# Читаемое имя для бэкенда.
label: ~

# Заголовок/tooltip при отображении в шапке страницы элемента бэкенда.
title: ''

# Цвет места для бэкенда.
color: '#bfdadc'

# Если true, цвет используется для рамки и текста, иначе — как фон.
colorInverted: false

# Если false, место скрывается в шапке детального вида элемента.
visibleInHeader: true
permissions:

# Прототип
-

# Здесь можно настроить выражение symfony. Будет использоваться первый набор разрешений, соответствующий условию.
condition: ~

# Разрешение save, соответственно настройке в Pimcore workplaces
save: ~

# Разрешение publish, соответственно настройке в Pimcore workplaces
publish: ~

# Разрешение unpublish, соответственно настройке в Pimcore workplaces
unpublish: ~

# Разрешение delete, соответственно настройке в Pimcore workplaces
delete: ~

# Разрешение rename, соответственно настройке в Pimcore workplaces
rename: ~

# Разрешение view, соответственно настройке в Pimcore workplaces
view: ~

# Разрешение settings, соответственно настройке в Pimcore workplaces
settings: ~

# Разрешение versions, соответственно настройке в Pimcore workplaces
versions: ~

# Разрешение properties, соответственно настройке в Pimcore workplaces
properties: ~

# Короткая запись для save, publish, unpublish, delete и rename.
modify: ~

# Если этот параметр установлен, пользователь увидит настроенный пользовательский макет объекта данных
objectLayout: ~
transitions: # Обязательно

# Пример:
close_product:
from: open
to: closed
options:
label: close product
notes:
commentEnabled: 1
commentRequired: 1
additionalFields:
-
name: accept
title: accept terms
required: 1
fieldType: checkbox
-
name: select
title: please select a type
setterFn: setSpecialWorkflowType
fieldType: select
fieldTypeSettings:
options:
-
key: Option A
value: a
-
key: Option B
value: b
-
key: Option C
value: c

# Прототип
-
name: ~ # Обязательно

# Выражение, блокирующее переход
guard: ~ # Пример: is_fully_authenticated() and 'ROLE_JOURNALIST' in role_names and subject.getTitle() == 'My first article'
from: []
to: []
options:

# Читаемое имя для бэкенда.
label: ~
notes:

# Если этот параметр включен, при переходе пользователя откроется окно подробных сведений. В этом окне пользователю будет предложено ввести "комментарий". Этот комментарий затем будет использоваться в качестве комментария для функции заметки/события.
commentEnabled: false

# Установите это значение равным true, если комментарий должен быть обязательным полем.
commentRequired: false

# Может использоваться для объектов данных. Комментарий будет сохранен в объекте данных в дополнение к заметкам/событиям с помощью этой функции-сеттера.
commentSetterFn: ~

# Может использоваться для объектов данных для предварительного заполнения поля комментария данными из объекта данных.
commentGetterFn: ~

# Тип сохраняемой заметки.
type: 'Status update'

# Необязательный альтернативный "заголовок" для заметки, если он не заполнен, используется результат перехода.
title: ~

# Добавить дополнительное поле в окно сведений о переходе.
additionalFields:

# Прототип
-

# Техническое название, используемое в форме ввода.
name: ~ # Обязательно

# Имя компонента данных/тип поля.
fieldType: ~ # Допустимые значения "input"; "numeric"; "textarea"; "select"; "datetime"; "date"; "user"; "checkbox", Обязательно

# Метка (label), используемая полем
title: ~

# Является ли поле обязательным.
required: false

# Необязательная функция сеттер (доступна в элементе, например, в обновленном объекте), если она не указана, данные будут добавлены в заметки. Менеджер рабочего процесса вызовет функцию со всеми данными поля.
setterFn: ~

# Будет передан в базовый тип поля объекта данных Pimcore. Может использоваться, например, для настройки параметров поля выбора (select).
fieldTypeSettings: []

# Настройка вывода пользовательского HTML для перехода.
customHtml:

# Определите пользовательский сервис для отображения пользовательского HTML-кода в модальном окне заметки
service: 'App\Service\Workflow\CustomHtmlService'

# Установите положение пользовательского HTML в модальном окне (top, center, bottom; по умолчанию=top).
position: 'top'

# CSS-класс для иконки в кнопке действий в бэкенде.
iconClass: ~
# Принудительно задаёт макет расположения объекта после выполнения перехода.
# Этот параметр objectLayout отменяет все параметры objectLayout в конфигурациях places.
objectLayout: false
notificationSettings:

# Прототип
-

# Здесь можно настроить выражение symfony. Будут использоваться все наборы уведомлений, соответствующие условию.
condition: ~

# Отправить email указанным пользователям (имена пользователей), когда переход будет применен
notifyUsers: []

# Отправить email указанным ролям пользователей (названия ролей), когда переход будет применен
notifyRoles: []

# Определите канал доставки уведомления, возможные значения "mail" и "pimcore_notification", значение по умолчанию - "mail".
channelType:

# По умолчанию:
- mail


# Тип источника письма
mailType: template # Допустимые значения: "template"; "pimcore_document"

# Путь к шаблону письма (Symfony path) или полный путь до Pimcore Document. Можно использовать плейсхолдер %%_locale%% для языка.
mailPath: '@PimcoreCore/Workflow/NotificationEmail/notificationEmail.html.twig'

# Изменять ли опубликованность элемента при переходе (только для документов и объектов данных).
changePublishedState: no_change # Допустимые значения "no_change", "force_unpublished", "force_published", "save_version"

# поведение при применении перехода, но при наличии несохраненных изменений
unsavedChangesBehaviour: warn # Допустимые значения "warn", "save", "ignore"

# Действия, которые будут добавлены к кнопке действия независимо от текущего места выполнения рабочего процесса.
globalActions:

# Прототип
-

# Читаемое имя для бэкенда.
label: ~

# Css-класс для определения иконки, которая будет использоваться в кнопке действий.
iconClass: ~

# Принудительно задаёт макет расположения объекта после выполнения перехода.
# Этот параметр objectLayout отменяет все параметры objectLayout в конфигурациях places.
objectLayout: false

# Выражение, блокирующее действие
guard: ~ # Пример: is_fully_authenticated() and is_granted('ROLE_JOURNALIST') and subject.getTitle() == 'My first article'

# пределяет, должно ли глобальное действие сохранить объект или нет, по умолчанию используется значение true.
saveSubject: false

# При необходимости укажите массив мест рабочего процесса. Может использоваться, например, для возврата рабочего процесса в исходное положение.
to: []

# Смотрите раздел "Примечания" в разделе "Переходы". Это работает точно так же.
notes:
commentEnabled: false
commentRequired: false
commentSetterFn: ~
commentGetterFn: ~
type: 'Status update'
title: ~
additionalFields:

# Прототип
-
name: ~ # Обязательно
fieldType: ~ # Допустимые значения "input"; "textarea"; "select"; "datetime"; "date"; "user"; "checkbox", Required
title: ~
required: false
setterFn: ~
fieldTypeSettings: []

# Настройте вывод пользовательского HTML-кода для перехода.
customHtml:

# Определите пользовательский сервис для отображения пользовательского HTML-кода в модальном окне note.
service: 'App\Service\Workflow\CustomHtmlService'

# Установите положение пользовательского HTML в модальном окне (top, center, bottom; по умолчанию=top).
position: 'top'


Вы можете предложить улучшение документации или задать вопрос в комментариях.
Если вам нужна полноценная консультация — вы можете заказать её на нашем сайте.