public function process(ContainerBuilder $container)
{
if (!$container->hasDefinition('sulu_admin.widgets_handler')) {
return;
}
$widgetsHandler = $container->getDefinition('sulu_admin.widgets_handler');
// get tagged services
$taggedServices = $container->findTaggedServiceIds($this->widgetTag);
// add each widget for each tag
foreach ($taggedServices as $id => $tagAttributes) {
foreach ($tagAttributes as $tagAttribute) {
if (array_key_exists('alias', $tagAttribute)) {
$widgetsHandler->addMethodCall('addWidget', [new Reference($id), $tagAttribute['alias']]);
} else {
throw new InvalidArgumentException('A widget could not be registered.', 'alias');
}
}
}
}