PDA

Zobacz pełną wersję : Instalacja komponentów



westman
20-01-2006, 14:31
Witajcie,

mam taki może mały problem:

Zrobiłem "główny" komponent który mogę instalować.

Mam także dla tego komponentu rozszerzenie graficzne (zdjęcia), które też bym chciał zainstalować - nie ftp upload! W komponencie jest funkcja, która sprawdza czy są zdjęcia. Jeśli są to będą pokazywane innaczej nie. Problem w tym, że chciałbym instalować w tym samym katalogu w którym instalowałem "główny" komponent - dodatkowo tylko podkatalog: /components/com_mój_komponent/images
Staram się jak mogę, ale zawsze kończy się tym, że mam komunikat: komponent jest używany czy coś takiego.

Jeśli to jest możliwe to mam następne pytanie.:D
Mogę w trakcie instalacji Addona sprawdzić (powyższy komunikat) czy "główny" komponent jest zainstalowany i wykorzystać własny komunikat o tym że _nie_ jest zainstalowany i przerwać instalacje?

Z góry Wielkie Dzięki
Pozdrawiam
MS

rkubera
20-01-2006, 14:35
Jreżeli chcesz dołożyć zdjęcia do swojego komponentu, to do pliku xml zaraz po sekcji:
<files>
</files>

dodaj sekcję
<images>
<filename>images/myimage.gif</filename>
</images>

Wtedy instaler automatycznie doda Ci te zdjęcia do katalogu images.
Oczywiście w pliku zip (tar) musi istnieć podkatalog images i w nim być te obrazki.

Czy o to chodziło?
Pozdrawiam, Radek.

rkubera
20-01-2006, 14:38
Dotyczy to oczywiście pliku xml dla komponentu który instalujesz, a nie dodatkowego doinstalowywania obrazków i odzielnego instalera.
Czyli obrazki wgrywasz od razu wraz z komponentem.

westman
20-01-2006, 14:47
Nie całkiem. Innaczej mówiąc:

Dwie odrębne installacje, ale obie w ten sam katalog componenta.

Druga instalacja jest tylko Graficzny-Addon dla pierwszej.

To tylko dlatego, że mój cały component jest pomału duży, i chcę go podzielić na te właśnie Addony. Są one niepotrzebne dla głównego komponentu, ale polepszają wizualność całego koponentu.

Przykład:
- Sam koponent dla typów samochodów z tabelą i jego danymi itd.. wszystko tylko jako text.
- Dodatek dla komponentu ma w sobie zdjęcia typów.
- W tamtej tabeli jest malutka funkcja, ktora sprawdza czy są te zdjęcia. jak są to pokazuje zdjęcie jako background, jak nie, to dalej jest tylko text. Nazwy zdjęć odpowiada zawsze typowi samochodu - także inny typ inne zdjęcie (lub nie).

westman
20-01-2006, 14:48
Pliki XML już mniej więcej wiem jak osłużyć.

rkubera
20-01-2006, 14:51
Nie całkiem. Innaczej mówiąc:

Dwie odrębne installacje, ale obie w ten sam katalog componenta.

Druga instalacja jest tylko Graficzny-Addon dla pierwszej.

To tylko dlatego, że mój cały component jest pomału duży, i chcę go podzielić na te właśnie Addony. Są one niepotrzebne dla głównego komponentu, ale polepszają wizualność całego koponentu.

Ja to właśnie rozwiązałem przy pomocy mambotów.Każdy add-in to odzielny mambot.
Niestety bez grzebania w core to się chyba nie da tego obejść, instaler sprawdza, czy w danym katalogu istnieje już jakiś plik.

westman
20-01-2006, 15:03
instaler sprawdza, czy w danym katalogu istnieje już jakiś plik.
A nie wiesz jak/gdzie tą rutynę przechwycić?

Na botach jeszcze nic nie robiłem. Masz jakieś dalsze info? link?

kurcze. to są tylko zdjęcia - prawie 3 mb. a chciałbym żeby to działało, bo w tedy bym też resztę rozbił na Addony.:)

instalator ma tylko ropakować zdjęcia do folderu /components/com_auto/images i już.
eventualnie w panelu administracyjnym dopisać podmenu, który addon jest zainstalowany i po kliknięciu otworzy te zdjęcia jako tabela-galeria. :) z możliwościa edycji, kasowania, upload.. hehehe

ale najpierw musi addon instal działać....:(

chciałbym żeby to działało, bo będzie to zaj***sty component dla joomli :cool:

narazie nie daje linka, gdzie go można zobaczyć, bo dopiero jest w 1/4 gotowe i do tego pół polski pół niemiecki.

rkubera
20-01-2006, 15:27
A nie wiesz jak/gdzie tą rutynę przechwycić? Proszę Cię bardzo. Za to odpowiada klasa installer.class i prawdopodobnie funkcja
copyfiles w pliku /administrator/components/com_installer/installer.class.php


Na botach jeszcze nic nie robiłem. Masz jakieś dalsze info? link? To jest naprawdę proste. Jeden XML plus 1 plik z funkcją, jakiej potrzebujesz. Zainstaluj sobie go w dowolnym swoim - innym niż standardowe, katalogu (grupie) /mambots
A co do sięgania do mambota:
jest tabela #__mambots skąd możesz pobrać, czy Twój mambot jest zainstalowany i opublikowany oraz jego parametry(gdy chcesz ich używać). Jeżeli jest:
include_once "/mambots/twój katalog/pokaz_obrazki.php";
pokaz_obrazki_func($params); To tak najprościej.
Możesz też używać klasy $Mambots->loadBotGroup('twoja grupa') ale tu trochę więcej zabawy, musisz wtedy dodatkowo rejestrować metodę (np. onPrepareContent itepe) a potem zbierać wynik przez:
$result = $MAMBOTS->trigger ('onPrepareContent, .... - w tej metodzie wywołuje Ci wszystkie mamboty jakie są podpięte do twojej grupy.

i tyle.
Co do reszy Ci niestety nie pomogę.