+CMS COntent Management Homepage

/ Indeks dokumentacji / Rozbudowa systemu / Rejestrowanie nowych klas w systemie / Zdarzenia / Zdarzenia systemowe / Zdarzenia PageNotFound, PageLocked, etc.

Zdarzenia PageNotFound, PageLocked, etc.

Uwaga!!! Funkcjonalność dostępna tylko powyżej wersji 3.0.0

Istnieje możliwość zmiany standardowego zachowania systemu w przypadku braku strony o podanym identyfikatorze. Standardowa obsługa zaimplementowana jest w klasie: PageEventsListner i znajduje się ona w katalogu /cms/classes/Model/Extension/BackEndExtension.

Aby zmienić zachowanie systemu w przypadku wystąpienia jednego z ponizszych zdarzeń należy zmienyfikować odpowienio metody.

Zdarzenie - Metoda

Document::EVENT_DOCUMENT_NOT_FOUND - onPageNotFound()
Document::EVENT_DOCUMENT_LOCKED - onPageLock()
Document::EVENT_DOCUMENT_NOT_PUBLISHED - onPageNotPublished()
Document::EVENT_DOCUMENT_EXPIRED - onPageExpired()

Standardowa obsługa wykonuje StandardException - powoduje to wyświetlenie informacji o błędzie.

Poniższy przykład pokazuje jak napisać metodę onPageNotFound(), aby systemem wyświetlał stronę główną gdy brak strony o podanym ID.

class PageEventsListner {

    private $oPage;

    public function __construct(Page $oPage) {
        $this->oPage = $oPage;
        $this->oPage->addEventListener(
                                            Document::EVENT_DOCUMENT_NOT_FOUND,
                                           array($this,'onPageNotFound'));
    }

    public function onPageNotFound($oSender, $iPageId) {

        // Check if this document is in console mode

        if(!User::isLoggedAndInternal()) {
            // Change page to home page
            header('Location: '.Server::getServer());
            die();
        }


        throw new SystemException('Page (id:'.$iPageId.') does not exist!');

    }

}

Wytłuszczona część kodu podowuje że w przypadku gdy nie pracujemy w konsoli systemu to każda próba wejścia na stronę która nie istnieje spowoduje przekierowanie użytkownika na stronę główną.

Zobacz więcej...

Metryka dokumentu

Tytuł: Data not available! Please fill metadata!
Opis: Data not available! Please fill metadata!
Źródło: Data not available! Please fill metadata!
Prawa autorskie: Data not available! Please fill metadata!
Autor: root Zmodyfikowany przez: root
Data utworzenia: 2010-03-12 14:35:41 Data modyfikacji: 2010-03-12 14:48:09
Data publikacji: 2010-03-12 14:43:06
(c) +CMS Content Management Platform