public function RendererFactory::create in Entity Print 8.2
Same name and namespace in other branches
- 8 src/Renderer/RendererFactory.php \Drupal\entity_print\Renderer\RendererFactory::create()
Create a new entity renderer.
Parameters
mixed $item: The item we require a renderer for.
string $context: The type, currently supports entities but could change in the future.
Return value
\Drupal\entity_print\Renderer\RendererInterface The constructed renderer.
Overrides RendererFactoryInterface::create
File
- src/
Renderer/ RendererFactory.php, line 19
Class
- RendererFactory
- The RendererFactory class.
Namespace
Drupal\entity_print\RendererCode
public function create($item, $context = 'entity') {
$entity_type_manager = $this->container
->get('entity_type.manager');
// If we get an array or something, just look at the first one.
if (is_array($item)) {
$item = array_pop($item);
}
if ($item instanceof EntityInterface && $entity_type_manager
->hasHandler($item
->getEntityTypeId(), 'entity_print')) {
return $entity_type_manager
->getHandler($item
->getEntityTypeId(), 'entity_print');
}
throw new PrintEngineException(sprintf('Rendering not yet supported for "%s". Entity Print context "%s"', is_object($item) ? get_class($item) : $item, $context));
}