|
|
Smarty Funktion {template_event}
|
|
|
------
|
|
|
|
|
|
Mit der `{template_event}` ist es Möglich API ähnliche Erweiterungen für Templates zu realisieren. Möchtest du einem Entwickler die Chance geben an gewissen Stellen deines Templates einzugreifen / HTML Code zu erweitern, kannst du dies mit `{template_event}` realisieren.
|
|
|
|
|
|
`{template_event}` besitzt zwei Parameter.
|
|
|
|
|
|
- name
|
|
|
- assign
|
|
|
|
|
|
### name
|
|
|
|
|
|
Mit dem namen Attribut wird der Name des Events angegeben, welches an der Stelle in der `{template_event}` aufgerufen wird, ausgeführt wird.
|
|
|
|
|
|
### assign
|
|
|
|
|
|
Mit assign wird der Rückgabewert von `{template_event}` in eine Variable gespeichert.
|
|
|
|
|
|
|
|
|
### Beispiel
|
|
|
|
|
|
In dem folgenden Template wird mit `{template_event}` ein Event in einem Template abgefeuert.
|
|
|
|
|
|
```html
|
|
|
|
|
|
<p>Viel text</p>
|
|
|
{template_event name="quiqqer::meinPlugin::meinNeuesEvent"}
|
|
|
```
|
|
|
|
|
|
Anderen Entwicklern ist es nun möglich hier weiteren HTML Code über ihre Plugins / Module einzuschleusen.
|
|
|
(Entweder über die XML API der events.xml oder direkt in PHP über QUI::getEvents().)
|
|
|
|
|
|
Wenn auf das Event von template_event reagiert wird, wird ein Übergabeparemeter übergben. Der Übergabeparameter ist vom Typ `Quiqqer\Engine\Collector`. Dies ist ein Objekt welches HTML sammelt und wieder ausgibt.
|
|
|
|
|
|
#### Beispiel anhand unseres quiqqer::meinPlugin::meinNeuesEvent Events
|
|
|
|
|
|
*Über PHP*
|
|
|
|
|
|
<?php
|
|
|
|
|
|
QUI::getEvents()->addEvent(
|
|
|
'onQuiqqer::meinPlugin::meinNeuesEvent',
|
|
|
function (\Quiqqer\Engine\Collector $Collector) {
|
|
|
$Collector->append('test');
|
|
|
}
|
|
|
);
|
|
|
|
|
|
?>
|
|
|
```
|
|
|
|
|
|
|
|
|
*Über XML*
|
|
|
|
|
|
```xml
|
|
|
<?xml version="1.0" encoding="UTF-8"?>
|
|
|
<events>
|
|
|
<event on="onQuiqqer::meinPlugin::meinNeuesEvent" fire="\QUI\MyEventClass::onMyEventMethod"/>
|
|
|
</events
|
|
|
```
|
|
|
|
|
|
[Weiteres siehe events.xml](https://dev.quiqqer.com/quiqqer/quiqqer/wikis/Events-Xml) |
|
|
\ No newline at end of file |