UWAGA: Strona zawiera materiały archiwalne. Większość artykułów dotyczy Joomla! 1.0
Start arrow Programowanie arrow Poradniki arrow Tworzenie komponentu w Mambo CMS
Tworzenie komponentu w Mambo CMS - Wstęp Drukuj Email
Spis treści
Wstęp
dailymessage.php
admin.dailymessage.php
admin.dailymessage.html.php
toolbar.dailymessage.php
toolbar.dailymessage.html.php
install.dailymessage.php i uninstall.dailymessage.php
dailymessage.xml
Dodatek 1. Komponenty versus Moduły
Dodatek 2: Zakładki na stronach administracyjnych

Uwaga!Plik zawierający informacje o komponencie oraz definiujący elementy składowe komponentu. Używany do instalacji oraz deinstalacji.

<?xml version="1.0" ?>

Ten znacznik definiuje wersje XML używaną w tym pliku. Większość stosowanych plików XML używa wersji 1.0. Jeśli chcecie dowiedzieć się więcej o XML poczytajcie sobie na stronach www.w3c.org (angielski).

<mosinstall type="component">

Tutaj informujemy Mambo, jakie rozszerzenie będziemy instalować. Kod obsługujący instalacje komponentu różni się od tego potrzebnego do instalacji modułu lub szablonu graficznego (template).

<name>DailyMessage</name>
<creationDate>06/03/2004</creationDate>
<author>Joseph LeBlanc</author>
<copyright>This component in released under the GNU/GPL License</copyright>
<authore-mail>contact @ jlleblanc.com</authore-mail>
<authorUrl>www.jlleblanc.com</authorUrl>
<version>1.0</version>

Te znaczniki definiują nazwę komponentu, datę powstania, autora, prawa użytkowania, e-mail autora, jego adres strony domowej oraz numer wersji komponentu. Te informacje są później widoczne w części zarządzania komponentami w Mambo. Nazwa komponentu zostanie użyta do stworzenia katalogu com_[nazwa_komponentu]. Nie powinna zawierać spacji oraz innych specjalnych znaków.

Uwaga!Oprócz tego, ze powstanie taki katalog, tutaj definiujemy jak będzie się identyfikował nasz komponent w środowisku Mambo. Tak, więc wartość com_[nazwa_komponentu] będzie używana do identyfikacji naszego komponentu.

<files>
<filename>dailymessage.php</filename>
</files>

Znacznik pliki <files> zawiera listę plików używanych do obsługi wizualnej strony komponentu, (czyli to, co będzie widział odwiedzający nasz strony). Każdy z nich zawarty jest w znaczniku nazwa pliku <filename>. W naszym przypadku, używamy tylko jednego pliku.

Uwaga!Jeśli po stronie wizualnej chcemy używać własnych plików graficznych to zostają one zadeklarowane również tutaj np. <filename>images/grafika.png. Powstanie podkatalog components/com_[nazwa_komponentu]/images/ i tam zostanie zapisany nasz plik graficzny.

<install>
<queries>
<query>
DROP TABLE IF EXISTS `# __joe_dailymessage`;
</query>
<query>
CREATE TABLE `# __joe_dailymessage` (
`id` INT NOT NULL AUTO_INCREMENT,
`message` TEXT NOT NULL,
`date` DATETIME NOT NULL,
`published` TINYINT(1) NOT NULL,
PRIMARY KEY (`id`)
)
</query>
<query>
DROP TABLE IF EXISTS `# __joe_dailymessage_conf`;
</query>
<query>
CREATE TABLE `# __joe_dailymessage_conf` (
`bold` TINYINT(1) NOT NULL,
`italic` TINYINT(1) NOT NULL,
`underline` TINYINT(1) NOT NULL,
`showdate` TINYINT(1) NOT NULL,
`configid` TINYINT(4) NOT NULL
)
</query>
<query>
INSERT INTO `# __joe_dailymessage_conf`
   (bold, italic, underline, showdate, configid) values(0, 0, 0 , 1, 1);
</query>
</queries>
</install>

W znacznikach instalacja <install> zawieramy polecenia do bazy danych wymagane dla utworzenia tablic naszego komponentu. Polecenia umieszczamy w znacznikach zapytanie <query>. Prefix '#_' zostanie zastąpiony poprzez prefix tablic Mambo zdefiniowany w ustawieniach portalu (standardowo 'mos'). Tworzymy 2 tablice: jedna dla przechowywania Wiadomości Dnia i druga do przechowywania ustawień komponentu. Dodatkowo wprowadzamy standardowe ustawienia komponentu.

Uwaga!Proszę zauważyć, że dla pewności najpierw staramy się usunąć tablice z bazy danych a potem ją tworzymy. Zapewnia to bezpieczne instalacje po jakiś nieudanych eksperymentach.

<uninstall>
<queries>
<query>
DROP TABLE IF EXISTS `# __joe_dailymessage`;
</query>
<query>
DROP TABLE IF EXISTS `# __joe_dailymessage_conf`;
</query>
</queries>
</uninstall>

Analogicznie do znaczników instalacyjnych definiujemy znaczniki deinstalacyjne <uninstall>. Pomiędzy nimi definiujemy polecenia do bazy danych niezbędne do usunięcia tabel używanych przez nasz komponent.

<installfile>
<filename>install.dailymessage.php</filename>
</installfile>
 
<uninstallfile>
<filename>uninstall.dailymessage.php</filename>
</uninstallfile>

Znaczniki plik instalacyjny <installfile> oraz plik deinstalacyjny <uninstallfile> zawierają nazwy plików obsługujących dodatkowe czynności związane z instalacją / deinstalacją komponentu. Pliki te zostaną skopiowane do katalogu administrator/com_dailymessage.

<administration>
<menu>Daily Message</menu>
<submenu>
<menu act="all">Edit Messages</menu>
<menu act="configure">Configure</menu>
</submenu>

Znacznik administracja <administration> zawiera wszystkie informacje niezbędne do obsługi panelu administracyjnego komponentu. Znacznik <menu> definiuje tytuł menu komponentu, jaki pojawi się w menu administracyjnym ’Komponenty’. Znaczniki podmenu <submenu> definiują podmenu menu komponentu. Tutaj również zdefiniowana jest wartość zmiennej podmenu 'act', która umożliwia zdeterminowanie podmenu do wyświetlenia.

Uwaga!Tutaj waśnie buduje się menu komponentu, które widzimy po stronie administracyjnej Mambo. Wartości zmiennej podmenu 'act' są używane w plikach obsługujących logikę strony administracyjnej komponentu.

<files>
<filename>admin.dailymessage.php</filename>
<filename>admin.dailymessage.html.php</filename>
<filename>dailymessage.class.php</filename>
<filename>toolbar.dailymessage.php</filename>
<filename>toolbar.dailymessage.html.php</filename>
</files>

Znacznik pliki <files> zawarty wewnątrz znacznika administracja <administrator> wskazuje, które pliki zostaną skopiowane do katalogu administrator/com_dailymessage.

Uwaga!Są to wszystkie pliki niezbędne do obsługi strony administratorskiej komponentu. Jeżeli chcemy użyć tutaj własnych plików graficznych postępujemy tak samo jak opisłaem to powyżej.

</administration>
</mosinstall>


Zmieniony ( 14.12.2007. )
 
« poprzedni artykuł