UWAGA: Strona zawiera materiały archiwalne. Większość artykułów dotyczy Joomla! 1.0
Start arrow Programowanie arrow Pakiety instalacyjne arrow Plik instalacyjny komponentu
Plik instalacyjny komponentu Drukuj Email
Redaktor: Stefan Wajda   
19.06.2007.
Komponent różni się od modułu większą złożonością i w związku z tym większą ilością danych.

Plik instalacyjny komponentu mógłby wyglądać następująco:

<?xml version="1.0" ?>
 
<mosinstall type="component" version="1.0">
  <name>Mój komponent Joomla</name>
  <creationDate>15/09/2005</creationDate>
  <Author>Joomla</author>
  <copyright>(C) 2005 Open Source Matters. All rights reserved.</copyright>
  <license>http://www.gnu.org/copyleft/gpl.html GNU/GPL</license>
  <authore-mail>admin @joomla.org</authore-mail>
  <authorUrl>help.joomla.org</authorUrl>
  <version>1.1</version>
  <description>To jest zwięzły opis komponentu</description>
  <files>
   <filename>mycomponent.php</filename>
   <filename>mycomponent.html.php</filename>
   <filename>images/approve.png</filename>
  </files>
  <install>
   <queries>
    <query id="1"># utwórz nowe tabele</query>
    <query id="2"># wypełnij nową tabelę</query>
   </queries>
  </install>
  <uninstall>
   <queries>
    <query id="1"># usuń tabele</query>
    </queries>
  </uninstall>
  <installfile>install.mycomponent.php</installfile>
  <uninstallfile>uninstall.mycomponent.php</uninstallfile>
  <administration>
    <menu>Mój komponent</menu>
      <submenu>
        <menu act="sub1">Podmenu 1</menu>
        <menu act="sub2">Podmenu 2</menu>
      </submenu>
    <files>
      <filename>admin.mycomponent.php</filename>
      <filename>admin.mycomponent.html.php</filename>
      <filename>toolbar.mycomponent.php</filename>
      <filename>toolbar.mycomponent.html.php</filename>
    </files>
    <images>
      <filename>Administrator/images/approve.png</filename>
      </images>
  </administration>
</mosinstall>

Jak widać, znajduje się tutaj więcej sekcji. Sekcje, których nie ma w innych plikach instalacyjnych, omówiono poniżej.

Nie ma żadnych ograniczeń co do ilości plików wpisanych między znacznikami <filename> Instalator stworzy katalog components/com_[nazwa_komponentu/ i umieści w nich wszystkie pliki zgodnie ze zdefiniowanymi tu ścieżkami.

Komponenty z natury rzeczy są rozbudowanymi składnikami, stąd plik instalacyjny posiada więcej elementów.

Element install definiuje zapytania (kwerendy) SQL tworzące tabele bazy danych, wypełniające je danymi. Kolejne instrukcje ujęte są w elemencie queries. Każde zapytanie ujmowane jest w odrębnym elemencie query. Ilość kwerend - query nie jest ograniczona. Każda kwerenda musi mieć identyczne, jednoznacznie rozpoznawane pola, zgodne z definicją tabeli bazy danych pola

Kod HTML w kwerendach musi być umieszczony wewnątrz sekcji <![CDATA[ tu kod HTML ]]>. Na przykład:

<query><![CDATA[ INSERT INTO #__mytable VALUES
 (1, '<p>znacznik HTML w kwerendzie</p><br>
 <a href="http://www.mojastrona.com">Moja strona</a>');]]></query>

Element <installfile> określa dodatkowy plik, zawierający inne instrukcje wykonywane przed zakończeniem instalacji. Instrukcje te muszą być zdefiniowane w funkcji com_install(). Mogą to com_install() być instrukcje tworzące środowisko niezbędne dla działania komponentu. Funkcja com_install() powinna kończyć proces instalacji komunikatem o powodzeniu bądź niepowodzeniu czynności instalacyjnych.

Element <uninstallfile> określa dodatkowy plik, zawierający instrukcje wykonywane podczas deinstalacji komponentu. Instrukcje te muszą być zdefiniowane w funkcji com_uninstall(). Funkcji com_uninstall() może zawierać polecenia usunięcia zainstalowanych elementów, innych niż wyszczególnione w pliku instalacyjnym, np. zbiorów danych. Funkcja com_uninstall() powinna kończyć proces usuwania komponentu komunikatem o powodzeniu bądź niepowodzeniu czynności deinstalacyjnych.

Element <administrator> definiuje instrukcje instalujące składniki komponentu w panelu administracyjnym. Zawiera kilka elementów.

Element <menu> określa nazwę pozycji menu, pod jaką zostanie umieszczony komponent w menu Komponenty. W przypadku, gdy obsługa komponentu oparta jest o kilka narzędzi wywoływanych z menu, można określić pozycje podmenu w elemencie <submenu>.

Elementy menu i podmenu posiadają dodatkowy atrybut przypisywany komponentowi - "act". W przypadku podmenu atrybut "act" jest obowiązkowy, wykorzystuje go funkcja mosGetParam.

Element <administrator> zawiera także elementy <files> i <images>. Ich rola jest podobna, jak opisanych wcześniej, z tą różnicą, że wyszczególnione tutaj pliki będą skopiowane do katalogu /administrator/components/[nazwa_komponentu]/, a obrazki do katalogu/administrator/components/[nazwa_komponentu]/images/.

 
« poprzedni artykuł   następny artykuł »