UWAGA: Strona zawiera materiały archiwalne. Większość artykułów dotyczy Joomla! 1.0
Start arrow Administracja arrow Instalatory arrow Ręczna instalacja komponentu
Ręczna instalacja komponentu Drukuj Email
Ręczna instalacja jest nieco bardziej skomplikowana niż automatyczna. Polega na założeniu odpowiednich katalogów na serwerze i przekopiowaniu do nich plików oraz operacji w bazie danych. Sposób instalacji "ręcznej" przedstawimy na przykładzie komponentu Glossary

Przed rozpocęciem ręcznej instalacji komponentu, otwórz w dowolnym edytorze umieszczony w pakiecie instalacyjnym plik pn. komponent.xml, w naszym przypadku - glossary.xml. Plik te zawiera wszystkie instrukcje dla instalatora. W tym przypadku - dla Ciebie.

W instrukcji dla instalatora można wyodrębnić kilka sekcji:

Sekcja: files

Zawarty jest w niej wykaz plików, które należy umieścić w katalogu twoja_joomla/com_components z zachowaniem struktury katalogu. Nie jest to trudne, bo w pakiecie instalacyjnym znajdziesz taką samą strukturę katalogów i plików. W przypadku komponentu Glossary ta sekcja wygląda tak:

<files>
<filename>glossary.php</filename>
<filename>glossary.html.php</filename>
<filename>glossary.class.php</filename>
<filename>images/e-mail.gif</filename>
<filename>images/homepage.gif</filename>
<filename>languages/english.php</filename>
<filename>languages/polish.php</filename>
</files>

Wynika z tego, że pierwsze trzy pliki umieszczamy w gónym katalogu komponentu - com_glossary, a następne w podkatalogach: images/ oraz languages/

Sekcja queries

Ta sekcja zawierać może kikla ujętych w znaczniki <query> zapytań do bazy danych. W przypadku komponentu Glossary pierwsza kwerenda wygląda następująco

 
      <query>
       CREATE TABLE IF NOT EXISTS `#__glossary` (
          `id` int(10) NOT NULL auto_increment,
          `tterm` varchar(40) NOT NULL default '',
          `tdefinition` text NOT NULL,
          `tname` varchar(20) NOT NULL default '',
          `tloca` varchar(60) default NULL,
          `tmail` varchar(60) default NULL,
          `tpage` varchar(150) default NULL,
          `tdate` datetime default NULL,
          `tcomment` text,
          `tedit` enum('y','n') NOT NULL default 'n',
          `teditdate` datetime default NULL,
          `published` tinyint(1) NOT NULL default '0',
          `catid` int(3) NOT NULL default '0',
          `checked_out` int(11) NOT NULL default '0',
         UNIQUE KEY `term` (`tterm`),
          PRIMARY KEY  (`id`),
         FULLTEXT (`tdefinition`)
        ) TYPE=MyISAM
      </query>

To i następne zapytania należy skopiować i wykonać za pomocą programu obsługi bazy danych. Kopiujemy jedynie zawartość między znacznikiem początkowym <query> a końcowym </query>

Sekcja administration

Sekcja Komponenty, następne, ujęte w znacznikach <submenu>, to pozycje podrzędne. W przypadku komponentu Glossary sekcja ta wygląda następująco:

 
    <menu>Glossary</menu>
    <submenu>
      <menu task="view">Terminy</menu>
      <menu task="categories">Kategorie</menu>
      <menu task="config">Konfiguracja</menu>
      <menu task="language">Plik jezyka</menu>
      <menu task="about">O Glossariuszu</menu>
    </submenu<
 

Na tej podstawie trzeba stworzyć zapytania do bazy danych i wykonać je albo założyć w bazie danych odpowiednie rekordy w tabeli jos_components

W drugiej części sekcji administration znajdują się polecenia przesłania plików do katalogu administrator/com_components/com_nazwakomponentu. W naszym przypadku wygląda ona następująco:

 
    <files>
      <filename>admin.glossary.php</filename>
      <filename>admin.glossary.html.php</filename>
      <filename>class.glossary.php</filename>
      <filename>config.glossary.php</filename>
      <filename>install.glossary.php</filename>
      <filename>toolbar.glossary.php</filename>
      <filename>toolbar.glossary.html.php</filename>
      <filename>uninstall.glossary.php</filename>
    </files>

Dla tych plików konieczne będzie stworzenie katalogu com_glossary w katalogu administrator/com_components/

Jak zainstalować komponent

Wiesz już, jak zbudowany jest plik komponent.xml zawierający polecenia dla instalatora. Wykonajmy je zatem dla instalowanego przez nas ręcznie komponentu Glossary:

  1. Rozpakuj plik archiwum com_glossary_1.8_PL.zip do katalogu na dysku lokalnym.
  2. Przejdź na serwerze do Twojego katalogu Joomla: twoj_katalog/components i utwórz katalog o nazwie com_glossary
  3. Prześlij do tego katalogu wszystkie katalogi i pliki wg pierwszego wykazu umieszczonego w pliku glossary.xml
  4. Przejdź na serwerze do Twojego katalogu Joomla: twoj_katalog/administrator/components i utwórz katalog o nazwie com_glossary
  5. Prześlij do tego katalogu wszystkie katalogi i pliki wg drugiego wykazu umieszczonego w pliku glossary.xml w sekcji administration
  6. Otwórz swój program do obslugi bazy danych MySQL, np. phpMyAdmin i wybierz bazę danych Twojego serwisu.

    Ikona artykułu

  7. Odszukaj tabelę jos_components

    Wybór bazy danych

  8. Kliknij na umieszczony pod tabelą odnośnik: Dodanie nowego rekordu
    Wybór tabeli bazy danych

  9. Ukaże się formularz umożliwiający dodanie nowego rekordu. Wypełnij pole formularza zgodnie instrukcjami w tabeli poniżej:
    Wybór opcji Dodanie nowego rekordu

 

PoleZnaczenie
idunikalny identyfikator rekordu, nadawany automatycznie, pozostaw puste,
nameWpisz Glossary - ta nazwa pokazuje się w menu administratora: Komponenty
linkWpisz: option=com_glossary - jest to odnośnik do katalogu komponentu
menuidWpisz 0
parentWpisz 0
admin_menu_linkWpisz option=com_glossary; odnośnik do katalogu komponentu z plikami administracyjnymi
admin_menu_altWpisz: Zarządzaj słownikiem;tekst ten ukazuje się na pasku stanu przeglądarki internetowej
optionPozostaw niewypełnione
orderingWpisz 0 - jest to kolejny numer w pozycjach menu komponentu
admin_menu_imgWpisz: js/ThemeOffice/component.png - nazwa pliku ikony ukazującej się w menu panelu administracyjnego
iscoreWpisz: 0
paramsPozostaw niewypełnione

  1. Po wpisaniu i sprawdzeniu wszystkich wartości, kliknij na przycisk Dodaj (Wykonanie)
  2. Dodaj w tabeli jos_components rekordy dla pozycji submenu, zgodnie z instrukcjami w sekcji administration w pliku glossary.xml. Możesz też stworzyć kwerendę dokonującą równocześnie wszystkich wpisów - zobacz objaśnienia poniżej.

Kolejne rekordy w tabeli jos_components będą się różnić wpisami w polach ID, NAME, LINK, MENUID, PARENTID, ADMIN_MENU_LINK, ADMIN_MENU_ALT i OPTION. Opracujemy kwerendę, aby objaśnić dokładnie znaczenie wpisów w pliku glossary.xml i podobnych. Musimy utworzyć 5 rekordów, bo tyle jest pozycji submenu.

W rekordzie dla komponentu ID zostalo utworzone automatycznie, i jest to 26. Zatem kolejnym rekordom nadamy ID: 27, 28.29.30.31.

Pola LINK i MENUID pozostawiamy niewypełnioone. W polu PARENTID wpiszemy 26, bo takie ID ma rekord dla nadrzędnego menu.

Kolejne pole ADMIN_MENU_LINK wymaga pełniejszej charakterystyki. Spójrz do pliku glossary.xml. Dla każdej pozycji submenu zostałokreślony atrybut, w tym przypadku task z różnymi argumentami. Ten atrybut i argumenty są odnośnikami do funkcji w skryptach komponentu, odpowiedzialnych za wywołanie formularzy edycji terminów, kategorii, itd. Na tej podstawie tworzymy wpisy w polu ADMIN_MENU_LINK, dodając do znanego już odnośnika do całego komponentu: com_option argument z atrybutem. Wpis dla pozycji Terminy wygląda następująco: com_option&task=view.

A oto całe zapytanie:

 
INSERT INTO jos_components VALUES (27, 'Terminy', '', 0, 26, 
'option=com_glossary&task=view', 'Terminy', 'com_glossary', 0, 
'js/ThemeOffice/edit.png', 0, '');

Możesz teraz powielić tę kwerendę cztery razy i dokonać zmian w polach NAME, ADMIN_MENU_LINK i ADMIN_MENU_ALT. A oto całość:

INSERT INTO jos_components VALUES (28, 'Kategorie', '', 0, 26,
'option=com_glossary&task=categories', 'Kategorie', 'com_glossary', 1,
'js/ThemeOffice/component.png', 0, '');
 
INSERT INTO jos_components VALUES (29, 'Konfiguracja', '', 0, 26,
'option=com_glossary&task=config', 'Konfiguracja', 'com_glossary', 2,
'js/ThemeOffice/config.png', 0, '');
 
INSERT INTO jos_components VALUES (30, 'Plik jezyka', '', 0, 26,
 'option=com_glossary&task=language', 'Plik jezyka', 'com_glossary', 3,
'js/ThemeOffice/user.png', 0, '');
 
INSERT INTO jos_components VALUES (31, 'O Glossariuszu', '', 0, 26, 
'option=com_glossary&task=about', 'O Glossariuszu', 'com_glossary', 4, 
'js/ThemeOffice/credits.png', 0, '');

Wystarczy teraz wykonać to zapytanie w bazie danych i komponent będzie w całości zainstalowany.


Uwagi, źródła

Jeżeli masz sugestie odnośnie treści lub chcesz zgłosić poprawki do tego rozdziału, skomentuj go albo umieść wiadomość na forum: Dokumentacja - Propozycje, zmiany, poprawki

Dziękujemy!

Stefan Wajda, Zespół Dokumentacji PCJ

Zmieniony ( 20.02.2007. )
 
« poprzedni artykuł   następny artykuł »