protected function PrintBuilder::prepareRenderer in Entity Print 8.2
Configure the print engine with the passed entities.
Parameters
array $entities: An array of entities.
\Drupal\entity_print\Plugin\PrintEngineInterface $print_engine: The print engine.
bool $use_default_css: TRUE if we want the default CSS included.
Return value
\Drupal\entity_print\Renderer\RendererInterface A print renderer.
2 calls to PrintBuilder::prepareRenderer()
- PrintBuilder::deliverPrintable in src/
PrintBuilder.php - Render any content entity as a Print.
- PrintBuilder::savePrintable in src/
PrintBuilder.php - Render any content entity as a printed document and save to disk.
File
- src/
PrintBuilder.php, line 116
Class
- PrintBuilder
- The print builder service.
Namespace
Drupal\entity_printCode
protected function prepareRenderer(array $entities, PrintEngineInterface $print_engine, $use_default_css) {
if (empty($entities)) {
throw new \InvalidArgumentException('You must pass at least 1 entity');
}
$renderer = $this->rendererFactory
->create($entities);
$content = $renderer
->render($entities);
$first_entity = reset($entities);
$render = [
'#theme' => 'entity_print__' . $first_entity
->getEntityTypeId() . '__' . $first_entity
->bundle(),
'#title' => $this
->t('View @type', [
'@type' => $print_engine
->getExportType()
->label(),
]),
'#content' => $content,
'#attached' => [],
];
$print_engine
->addPage($renderer
->generateHtml($entities, $render, $use_default_css, TRUE));
return $renderer;
}