ILIAS  trunk Revision v11.0_alpha-3011-gc6b235a2e85
Renderer.php
Go to the documentation of this file.
1<?php
2
19declare(strict_types=1);
20
22
24use ILIAS\UI\Renderer as RendererInterface;
26
28{
32 public function render(Component\Component $component, RendererInterface $default_renderer): string
33 {
34 if (!$component instanceof Component\Breadcrumbs\Breadcrumbs) {
35 $this->cannotHandleComponent($component);
36 }
37
38 $tpl = $this->getTemplate("tpl.breadcrumbs.html", true, true);
39
40 $tpl->setVariable("ARIA_LABEL", $this->txt('breadcrumbs_aria_label'));
41 foreach ($component->getItems() as $key => $crumb) {
42 $tpl->setCurrentBlock("crumbs");
43 $tpl->setVariable("CRUMB", $default_renderer->render($crumb));
44 if (!preg_match('/[a-zA-Z0-9\ ]$/', $crumb->getLabel())
45 && ($key === array_key_last($component->getItems()))) {
46 $tpl->setCurrentBlock("lrmmark");
47 $tpl->setVariable("LRMMARK", htmlspecialchars_decode("&lrm;", ENT_HTML5));
48 }
49 $tpl->parseCurrentBlock();
50 }
51 return $tpl->get();
52 }
53}
render(Component\Component $component, RendererInterface $default_renderer)
Definition: Renderer.php:32
cannotHandleComponent(Component $component)
This method MUST be called by derived component renderers, if.
getTemplate(string $name, bool $purge_unfilled_vars, bool $purge_unused_blocks)
Get template of component this renderer is made for.
An entity that renders components to a string output.
Definition: Renderer.php:31