![]()
|
|
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
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ą.
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 | ||