+CMS COntent Management Homepage

/ Indeks dokumentacji / Rozbudowa systemu / Rejestrowanie nowych klas w systemie / Zdarzenia / Zdarzenia systemowe / Rozszerzanie menu systemu

Rozszerzanie menu systemu

Po wyłączniu zdarzeń BackEnd istnieje możliwość rozbudowy wewnętrznego menu systemu o własne pozycje w menu.

Modyfikacja pozycji "const BACKEND_EVENTS = false;" w pliku config.inc.php na "const BACKEND_EVENTS = true;" uruchamia zdarzenia typu:

  • SystemEvent::EVENT_SYSTEM_MENULOAD - załadowano menu
  • SystemEvent::EVENT_SYSTEM_HEADERLOAD - załadowano nagłówki systemu

Od teraz w pliku /cms/Model/Extensions/BackendExtensions/BackendExtension.php można podpiąć obsługę powyższych zdarzeń.

Przykład użycia

class BackEndExtension {

    public function run(BackEnd $oBackEnd) {

        //////////////////////////////////
        // Przykład

        // Podepnij pod zdarzenie SystemEvent::EVENT_SYSTEM_MENULOAD 
        // obsługe w BackEndExtension::extendMenu()
        // Patrz do metody extendMenu - znajduje się tam
        // dodawanie nowej pozycji w menu.

        $oBackEnd->addEventListener(
                                SystemEvent::EVENT_SYSTEM_MENULOAD,
                                array('BackEndExtension','extendMenu')); 
    }

    public static function extendMenu($oSender, GenericArray $oExistingMenu) {

         //////////////////////////////////////
         // Przykład jak dodać pozycję w menu

         // Stwórz nowy element menu o nazwie MyItem
         // i po kliknięciu uruchom
         // javascript:alert('my click action')

         $oMenuItem = new WebMenuItem(array('MyItem', 'item2', "javascript:alert('my click action')", null));

         // Utwórz nowe okno menu o nazwie NewPane
         // i dodaj zestaw elementów array($oMenuItem)
         // $oMenuItem zostało stworzone w poprzednim kroku.

         $oMenuPane = new WebMenuPane('New Pane','javascript:void(0)','item1',array($oMenuItem));

          // Dodaj okno menu do istniejącego menu

         $oExistingMenu->add(null,$oMenuPane);
 }
}
 

Więcej przykładów w pliku: /cms/Model/Extensions/BackendExtensions/BackendExtension.php

Zobacz więcej...

Metryka dokumentu

Tytuł: Rozszerzanie menu systemu
Opis: Opis rozbudowy menu systemu.
Źródło: +CMS Manual
Prawa autorskie: +CMS Content Management Platform
Autor: root Zmodyfikowany przez: root
Data utworzenia: 2009-10-19 15:49:00 Data modyfikacji: 2009-11-05 15:42:29
Data publikacji: 2009-10-19 16:02:40
(c) +CMS Content Management Platform