ILIAS  trunk Revision v11.0_alpha-1749-g1a06bdef097
All Data Structures Namespaces Files Functions Variables Enumerations Enumerator Modules Pages
Renderer.php
Go to the documentation of this file.
1 <?php
2 
19 declare(strict_types=1);
20 
22 
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 }
txt(string $id)
Get a text from the language file.
render(Component\Component $component, RendererInterface $default_renderer)
Definition: Renderer.php:32
getTemplate(string $name, bool $purge_unfilled_vars, bool $purge_unused_blocks)
Get template of component this renderer is made for.
cannotHandleComponent(Component $component)
This method MUST be called by derived component renderers, if.