ILIAS  trunk Revision v11.0_alpha-1715-g7fc467680fb
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 {
33  public function render(Component\Component $component, RendererInterface $default_renderer): string
34  {
35  if (!$component instanceof Component\Counter\Counter) {
36  $this->cannotHandleComponent($$component);
37  }
38 
39  $tpl = $this->getTemplate("tpl.counter.html", true, true);
40  if ($component->getNumber() === 0) {
41  $tpl->touchBlock("hidden_" . $component->getType());
42  }
43  $tpl->setCurrentBlock($component->getType());
44  $tpl->setVariable("NUMBER", $component->getNumber());
45  $tpl->parseCurrentBlock();
46  return $tpl->get();
47  }
48 
52  public function registerResources(ResourceRegistry $registry): void
53  {
54  parent::registerResources($registry);
55  $registry->register('assets/js/counter.js');
56  }
57 }
Registry for resources required by rendered output like Javascript or CSS.
render(Component\Component $component, RendererInterface $default_renderer)
Definition: Renderer.php:33
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.
register(string $name)
Add a dependency.
registerResources(ResourceRegistry $registry)
Announce resources this renderer requires.
Definition: Renderer.php:52