ILIAS  trunk Revision v11.0_alpha-1744-gb0451eebef4
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 
27 
29 {
30  public function render(
31  Component $component,
32  RendererInterface $default_renderer
33  ): string {
34  if ($component instanceof ItemInterface\Standard) {
35  return $this->renderStandard($component, $default_renderer);
36  } elseif ($component instanceof ItemInterface\KeyValue) {
37  return $this->renderKeyValue($component, $default_renderer);
38  }
39  $this->cannotHandleComponent($component);
40  }
41 
42  protected function renderStandard(
43  ItemInterface\Standard $component,
44  RendererInterface $default_renderer
45  ): string {
46  $tpl = $this->getTemplate(
47  'tpl.standardInterruptiveItem.html',
48  true,
49  true
50  );
51  $icon = ($component->getIcon()) ?
52  $default_renderer->render($component->getIcon()) : '';
53  $tpl->setVariable('ITEM_ICON', $icon);
54  $tpl->setVariable('ITEM_ID', $component->getId());
55  $tpl->setVariable('ITEM_TITLE', $component->getTitle());
56  if ($desc = $component->getDescription()) {
57  $tpl->setVariable('ITEM_DESCRIPTION', $desc);
58  }
59  return $tpl->get();
60  }
61 
62  protected function renderKeyValue(
63  ItemInterface\KeyValue $component,
64  RendererInterface $default_renderer
65  ): string {
66  $tpl = $this->getTemplate(
67  'tpl.keyValueInterruptiveItem.html',
68  true,
69  true
70  );
71  $tpl->setVariable('ITEM_KEY', $component->getKey());
72  $tpl->setVariable('ITEM_VALUE', $component->getValue());
73  $tpl->setVariable('ITEM_ID', $component->getId());
74  return $tpl->get();
75  }
76 }
renderStandard(ItemInterface\Standard $component, RendererInterface $default_renderer)
Definition: Renderer.php:42
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
render(Component $component, RendererInterface $default_renderer)
Definition: Renderer.php:30
renderKeyValue(ItemInterface\KeyValue $component, RendererInterface $default_renderer)
Definition: Renderer.php:62
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.