Closed
Description
Description
In the documentation:
$aTransition = $blogPublishingWorkflow->getDefinition()->getTransitions()[0];
$priority = $blogPublishingWorkflow
->getMetadataStore()
->getTransitionMetadata($aTransition)['priority'] ?? 0
but to get specific transitions, I need to get them all and iterate over the array. Would be super nice to get transition and transition metadata by its name.
Example
Getting transition by name
Before:
$transitions = $this->stateMachine->getDefinition()->getTransitions();
foreach ($transitions as $item) {
if ($item->getName() === 'transition_name') {
// ...
}
}
After:
$aTransition = $blogPublishingWorkflow->getDefinition()->getTransition('transition_name');
Getting transition metadata by name
Before:
$transitions = $this->stateMachine->getDefinition()->getTransitions();
foreach ($transitions as $item) {
if ($item->getName() === 'transition_name') {
$value = $blogPublishingWorkflow
->getMetadataStore()
->getTransitionMetadata($item)['metadata_field'] ?? 0;
}
}
After:
$priority = $blogPublishingWorkflow
->getMetadataStore()
->getTransitionMetadataByTransitionName('transition_name')['priority'] ?? 0;