![]()
|
|
W ramach tagu actions umieszczane są definicje akcji które będą wykonane w momencie tworzenia nowej strony. Nie są one wykonywane gdy strona jest odświeżana. Przykładowe akcje jakie mogą być wykonane w momencie dodawania nowej strony to:
Poniższy zapis spowoduje automatyczne zablokowanie strony i jej opublikowanie.<database>
<update table="cms_page" where="id='{PageId}'">
<set field="lock">1</set><set field="publish">1</set>
</update>
</database>Istnieje też możliwość dodawania nowych rekordów do bazy:<database>
<insert table="cms_log">
<set field="test">Testowa wiadomość</set>
</update>
</database>
Przykład: <view template="[path_to_template]" name="Lista: {PageTitle}"/> - komenda doda widok (do tworzonej strony) na podstawie szablonu "[path_to_template]". Przed nazwą zostanie napis 'Lista:' dla odróżnienia abstraktu od strony bazowej . Jest to bardzo wygodny mechanizm przy tworzeniu np. wersji do wydruku czy zajawek na stronę główną.
Przykładowa sekcja action z tagiem view.<action>
<view
template="/tools/support/UnitTests/CMS/Domain/ExampleTemplates/xhtml/views/view_example.xhtml"
xml-template="/tools/support/UnitTests/CMS/Domain/ExampleTemplates/example.xml"
name="My lead abstract"
/>
<view
template="/tools/support/UnitTests/CMS/Domain/ExampleTemplates/xhtml/views/view_example.xhtml"
xml-template="/tools/support/UnitTests/CMS/Domain/ExampleTemplates/example.xml"
name="My 2nd lead abstract"
/>
</action>
Przykład: <category category-name="[category name]"/> spowoduje przypisanie tworzonej strony do kategorii "[category name]".Inne sposoby doawania kateogrii to: <category category-id="[category id]" /> - dodaje kategorie na podstawie jej id. Duzy wygodniejszy sposób gdyż nazwy kategorii często się zmieniają.
Aby automatycznie przypisać kilka kategorii do jednej strony należy dodać kilka wpisów typu: <category category-id="[category id]" />Przykład:<action><category category-id="1" /><category category-id="2" /><category category-id="3" /></action>
<permission... - dodawanie praw dostępu do tworzonej strony. Z definicje prawa do edycji ma osoba tworząca stronę. Nie trzeba dodatkowo dodawać jej praw właścicielowi.
Przykład: <permission user="[username]" group="[groupname]" /> przypisze prawa dostępu do tego pliku osobie o identyfikatorze "[username]" lub wszystkim użytkownikom systemu przypisanym do grupy "[groupname]".
Sdandartowe grupy nie mają polskich znaw tylko specjalne definicje. Standardowo zdefiniowane grupy to:/* Edytorzy */<permission group="CMS_HOAX_GROUP_EDITORS" />/* Tłumacze */<permission group="CMS_HOAX_GROUP_TRANSLATORS" />/* Administratorzy */<permission group="CMS_HOAX_GROUP_ADMINS" />/* Zarządzający */<permission group="CMS_HOAX_GROUP_MANAGERS" />
<register... - rejestruje obsługę zdarzeń na nowo stworzonej stronie.
Do każdej strony można przypisać szereg skryptów, które będą wykonywane w momencie, gdy zaistnieje wskazane zdarzenie, np. strona zostanie opublikowana lub zakończy się ładowanie elementów strony.
Przykładowa rejestracja obsługi zdarzeń wygląda następująco:
<register event="Page.Load" listener="MojaKlas.MojaMetoda1" />
<register event="Page.Publish" listener="MojaKlasa.MojaMetoda2" />
<register event="Plaintext.Lock" listener="MojaKlasa.MojaMetoda3" item-id="ProstyTekst" />
W podanym powyżej przykładzie zarejestrowane zostaną trzy skrypty obsługiwane przez klasę MojaKlasa:
Plik źródłowy z kodem klasy MojaKlasa można umieścić w dowolnym miejscu w systemie, ale trzeba go zarejestrować w zakładce development/zarejestruj klasę.
Sygnatura method, które będa wywoływane podczas zdarzeń wyglądają następująco:
public function nazwaMethod($oObject,$aParams) {}
$oObject to objekt w którym wystąpiło zdarzenie (np. PageLoad, przekaże obiekt Page) ,
$aParams to tablica z parametrami dodatkowymi,
Podsumowując klasa MojaKlasa mogłaby wyglądać następująco:
class MojaKlasa {
public function MojaMetoda1($oObject, $aParams) {
// Tu można dodać jakiś kod
}
public function MojaMetoda2($oObject, $aParams) {
}
public function MojaMetoda3($oObject, $aParams) {
}
}
Metryka dokumentu |
|||
| Tytuł: | Indeks dokumantacji | ||
| Opis: | Spis stron dokumentacji | ||
| Źródło: | +CMS Content Management | ||
| Prawa autorskie: | +CMS Content Management Platform | ||
| Autor: | root | Zmodyfikowany przez: | root |
| Data utworzenia: | 2008-09-09 21:33:48 | Data modyfikacji: | 2008-09-09 21:51:41 |
| Data publikacji: | 2008-09-09 21:51:31 | ||