Narzędzia użytkownika

Narzędzia witryny


userpanel

Różnice

Różnice między wybraną wersją a wersją aktualną.

Odnośnik do tego porównania

Poprzednia rewizja po obu stronachPoprzednia wersja
Ostatnia wersjaNastępna rewizja po obu stronach
userpanel [2013/01/16 16:05] cehouserpanel [2013/01/16 16:07] ceho
Linia 29: Linia 29:
  
 Każdy moduł posiada własny podkatalog style. Jeżeli w nim system nie odnajdzie danego pliku zostanie użyty plik dla danego stylu z głównego katalogu style. Każdy moduł posiada własny podkatalog style. Jeżeli w nim system nie odnajdzie danego pliku zostanie użyty plik dla danego stylu z głównego katalogu style.
 +
 +====9.5. Moduły====
 +
 +Userpanel posiada budowę modularną. Każdy moduł, odpowiadający pozycji w menu, to odrębny podkatalog katalogu modules.
 +
 +===9.5.1. Struktura modułu===
 +
 +Drzewo katalogów typowego modułu powinno wyglądać następująco:
 +
 +<code>
 +nazwa_modułu
 +    |---locale
 +    |     |---pl
 +    |          |---strings.php
 +    |---style
 +    |     |---default
 +    |          |---image.gif
 +    |---templates
 +    |     |---template1.html
 +    |     |---template2.html
 +    |---upgradedb
 +    |     |---mysql.2005081901.php
 +    |     |---postgres.2005081901.php
 +    |---configuration.php
 +    |---functions.php
 +</code>
 +
 +I kilka słów wyjaśnienia:
 +
 +  * Katalog locale zawiera oczywiście odpowiednie locale. W strings.php są tylko tłumaczenia tekstów zwartych w danym module,
 +
 +  * style to oczywiście katalog z obrazkami, zawierający podkatalogi odpowiadające nazwom styli używanych w Userpanelu,
 +
 +  * templates to szablony Smarty danego modułu,
 +
 +  * upgradedb zawiera pliki auto-upgrade'u bazy danych dla tabel których dany moduł używa. Nazwy tabel tworzonych na potrzeby modułów powinny zawierać prefiks up_nazwamodułu_,
 +
 +  * configuration.php i functions.php to dwa wymagane pliki. Ich budowa jest opisana poniżej.
 +
 +===9.5.2. Główne pliki===
 +
 +==9.5.2.1. configuration.php==
 +
 +Ten plik zawiera konfigurację danego modułu, oraz jest includowany zawsze przy inicjalizacji Userpanela. Typowa zawartość:
 +
 +<code>
 +<?php
 +$USERPANEL->AddModule(trans('Help'),      // Nazwa wyświetlana
 +                    'help',             // Nazwa modułu (musi być taka sama jak nazwa katalogu)
 +                    trans('Runs problems solving creator'), // Tip
 +                    5,                  // Priorytet
 +                    trans('This module shows solving problems creator'), // Opis
 +                    2005081901,         // Wersja bazy danych (podobnie jak w  LMS, 
 +                                        // zobacz lms/lib/upgradedb.php)
 +     array( // Pozycje podmenu wywietlane w LMS-UI w menu Userpanel
 +         array( // (zobacz lib/LMS.menu.php)
 +     'name' => trans('Submenu'),
 +     'link' => '?m=userpanel&module=help',
 +     'tip' => trans('Tooltip'),
 + ),
 +     )
 +);
 +?>
 +</code>
 +
 +==9.5.2.2. functions.php==
 +
 +Ten plik zawiera funkcje danego modułu. Podstawową funkcją modułu jest module_main(). Funkcja ta jest wykonywana jako pierwsza po wywołaniu modułu. Jeśli chcemy aby funkcja mogła być wywołana z UI, to dodajemy prefiks module_ np. module_funkcja1(). Funkcja będzie dostępna po wpisaniu url'a: http://userpanel/?m=modul&f=funkcja1. Funkcja module_setup() jest wywoływana przez panel konfiguracyjny dostępny z LMSa. 
userpanel.txt · ostatnio zmienione: 2013/01/16 00:00 (edycja zewnętrzna)