![]()
|
|
Obsługę zdarzeń można zarejestrować w szablonie XML używając znacznika register w sekcji action.
Przykład:
Część kodu z pliku TEST.XML definującego stronę:
<action event="PageCreate">
<register event="Page.Create" listener="PageEventCreate.create" />
</action>
W ten sposób podłączyliśmy dozdarzenia Page.Create (tworzenie strony) kod php, który znajduje się w klasie "PageEventCreate" i metodzie "create". Oznacza to, że za każdym razem, gdy będzie tworzona nowa strona na podstawie szablonu TEST.XML to będzie wykonywany kod z metody "create" klasy "PageEventCreate". Nazwa metody jak i klasy została wybrana przez programistę i może być dowolna.
Zarejstrowana klasa PageEventCreate wygląda następująco:
class PageEventCreate {
public function create(Page $oSender, $aParams) {
// Tutaj kod obsługujący zdarzenie Page.Create
// Jeżeli strona nie jest przypisana do kategorii o id = 1 to przypisz ją do tej kategorii
if(false === $oSender->hasAssignedCategory(1)) {
$oSender->assignCategory(1);
}
}
}
Powyższa metoda realizuje funkcjonalność opisaną przez komentarz, czyli kategoryzuje strone jeżeli nie była ona wcześniej przypisana do kategorii o id=1.
Należy zwrócić uwage na sygnaturę metody create. Każda metoda, która korzysta ze zdarzenia ma taką samą sygnaturę, czyli:
public function NAZWA_METODY(Page $oSender, $aParams)
Przekazywane parametry to:
Metryka dokumentu |
|||
| Tytuł: | Przypinanie zdarzen | ||
| Opis: | Opis obsługi zdarzeń w systemie | ||
| Źródło: | +CMS Manual | ||
| Prawa autorskie: | +CMS Content Management | ||
| Autor: | root | Zmodyfikowany przez: | root |
| Data utworzenia: | 2009-11-05 15:28:02 | Data modyfikacji: | 2009-11-05 15:34:47 |
| Data publikacji: | 2009-11-05 15:34:47 | ||