function business_rules_entity_view in Business Rules 8
Same name and namespace in other branches
- 2.x business_rules.module \business_rules_entity_view()
Implements hook_entity_view().
File
- ./
business_rules.module, line 294 - Business Rules module.
Code
function business_rules_entity_view(array &$build, EntityInterface $entity, EntityViewDisplayInterface $display, $view_mode) {
// Only handle content entities and ignore config entities.
if (\Drupal::service('business_rules.processor')
->ruleExists('entity_is_viewed', $entity)) {
$reacts_on_definition = \Drupal::getContainer()
->get('plugin.manager.business_rules.reacts_on')
->getDefinition('entity_is_viewed');
$entity_type_id = $entity
->getEntityTypeId();
$event = new BusinessRulesEvent($entity, [
'entity_type_id' => $entity_type_id,
'bundle' => $entity
->bundle(),
'entity' => $entity,
'entity_unchanged' => $entity->original,
'build' => &$build,
'reacts_on' => $reacts_on_definition,
'loop_control' => $entity
->getEntityTypeId() . $entity
->id(),
]);
/** @var \Symfony\Component\EventDispatcher\EventDispatcherInterface $event_dispatcher */
$event_dispatcher = \Drupal::service('event_dispatcher');
$event_dispatcher
->dispatch($reacts_on_definition['eventName'], $event);
}
}