PDA

Zobacz pełną wersję : Instalacja własnego komponentu



Scandall
26-07-2007, 20:48
Witam ;)
Napisałem własny komponent newslettera (ot, tak żeby podszkolić się w pisaniu komponentów pod joomle). W celach testowych umieściłem ten komponent w katalogu "components" i wszystko działa ok. A więc usunąłem stamtąd cały katalog z komponentem i zabrałem się do pisania pliku xml dla instalatora. Cały katalog z komponentem i plikiem dla instalatora ładnie zzipowałem, i instaluje jak każdy normalny komponent. Wszystko jest pięknie, pokazuje że instalacja się udała, tworzy w bazie danych tabele zawarte w pliku xml dla instalatora, tylko brak jest tego komponentu na liście zinstalowanych komponentów, także w bazie w tabeli jos_components, choć instalator umieszcza w katalogu "components" katalog z moim komponentem. Dodatkowo chciałbym aby istniała możliwość dodawania do dowolnego menu na stronie linku do komponentu. Jednak gdy wchodzę w "Menu manager", chcę dodać link do komponentu nie ma go także na liście komponentów do których można dodać link. Plik xml dla instalatora który stworzyłem wygląda następująco:


<?xml version="1.0" ?>
<mosinstall type="component">
<name>mynewsletter</name>
<creationDate>25/08/2007</creationDate>
<author>Pawe</author>
<copyright>(C) 2007 by Pawel All rights reserved.</copyright>
<authorEmail>ja@gdziestam.com</authorEmail>
<version>1.1</version>
<description>Komponent newslettera</description>
<files>
<filename>mynewsletter.php</filename>
<filename>mynewsletter.html.php</filename>
<filename>mynewsletter.class.php</filename>
<filename>formularz.html.php</filename>
<filename>usun_szablon.php</filename>
</files>
<install>
<queries>
<query id="1">DROP TABLE IF EXISTS `#__mynewsletter`</query>
<query id="2">
create table #__mynewsletter (
id int not null auto_increment,
mail varchar(250) not null,
primary key(id))
</query>
</queries>
</install>
<uninstall>
<queries>
<query id="1">DROP TABLE IF EXISTS `#__mynewsletter`</query>
</queries>
</uninstall>
</mosinstall>


Mógłby mi ktoś z tym pomóc?

zwiastun
27-07-2007, 02:32
Przydałoby się chyba umieszczenie komponentu także na zapleczu. Z xml-a wynika, że dostępny to ma być jedynie od frontu

Scandall
27-07-2007, 10:33
Hmmm, no ok, tylko, że nie pisałem do tego komponentu części dostępnej z zaplecza, bo nie widziałem takiej potrzeby. Ten komponent to prosty formularz umieszczający adresy e-mail w bazie, oraz obsługujący usuwanie tychże adresów. Rozumiem, że aby uzyskać efekt o który mi chodzi komponent musi mieć także część administracyjną dostępną z zaplecza?
To trochę bardziej skomplikowane niż moduły ;)

zwiastun
27-07-2007, 12:54
No bardziej skomplikowane, ale już jesteś blisko, jak front umiesz obsłużyć, to od tyłu jest całkiem podobnie:)

Scandall
27-07-2007, 14:13
Nie wiem czemu Twoja wypowiedź od razu skojarzyła mi się z obsługą kobiety :D

sq2wki
11-10-2007, 10:53
Po tej zmianie już działa ?

Scandall
11-10-2007, 17:05
Działa jak najbardziej. Choć ta część administracyjna właściwie nic nie robi, to dzięki niej wszystko działa.

sq2wki
11-10-2007, 17:40
I mamy gotową solucję dla innych ;)