Lekcja 7 – zaplecze – Pasek narzędzi

Kategoria: Kurs pisania komponentów dla Joomla 1.5 [MVC] Utworzono: poniedziałek, 22, wrzesień 2008 Opublikowano: poniedziałek, 22, wrzesień 2008 Wojciech Romanek Drukuj E-mail

Powiedzmy że, podstawy jako takie już masz po przeczytaniu poprzednich części kursu. Teraz będę pisał trochę konkretniej i mniej zagłębiał się będę w rzeczy które powinieneś znać z poprzednich lekcji. Jeśli jednak masz jakieś wątpliwości to pytaj w komentarzach do odpowiedniego artykułu.

W tym artykule napiszę w jaki sposób po stronie admina wstawić standardowe ikony „zapis”, „zastosuj”, „anuluj” itp. tak jak jest to zrealizowane np. w komponencie com_content.

W celach demonstracji dzisiejszej lekcji po stronie administratora tworzymy pliki identycznie jak w lekcjach poprzednich. Na wszelki wypadek gotową strukturę plików wrzuciłem do plikowni. Wszystkie informacje dotyczące paska narzędziowego umieszczamy w pliku view.html.php odpowiedniego widoku. Aby nasz komponent wyświetlał tytuł w miejscu standardowym, wpisujemy taki kod:

JToolbarHelper::title('Nazwa komponentu');

Aby w naszym komponencie wstawić przycisk znany z innych komponentów należy wpisać:

JToolbarHelper::nazwa_metody('nazwa_taska', 'podpis');

oczywiście ten opis nie zadziała w miejsce nazwa_metody należy wpisać jedną z:

Nazwa metody Domyślny task Domyślny podpis  
addNew add New  
addNewX add New Blokuje menu
apply apply Apply  
archiveList archive Archive  
assign assign Assign  
cancel cancel Cancel  
editList edit Edit  
editListX edit Edit Blokuje menu
makeDefault default Default  
publish publish Publish  
publishList publish Publish  
save save Save  
unarchiveList unarchive Unarchive  
unpublish unarchive Unpublish  
unpublishList unpublish Unpublish  

Powyżej wypisane metody posiadają pewne wartości domyślne, więc możemy je wywoływać bez zmiany wartości parametrów np.:

JToolbarHelper::cancel();

W wyniku pojawi nam się przycisk Cancel z taskiem cancel. W zależności od języka jaki mamy ustawiony na zapleczu pod ikonką pojawi nam się przetłumaczony napis (w przypadku języka polskiego będzie to Anuluj).

Jak teraz obsłużyć dany przycisk? Otóż... to bardzo proste, tworzymy w kontrolerze funkcję:

function nazwa_taska()
{
//tresc funkcji
}

czyli np. dla przycisku cancel utworzonego z domyślnymi parametrami jak wyżej, stworzymy funkcję następującą:

function cancel()
{
//tresc funkcji
}

Nie napisałem co znaczy że menu zostaje zablokowane – oznacza to że po kliknięciu na ikonkę która blokuje menu nie będziemy mieć dostępu do menu głównego administracji.

Istnieją jeszcze inne przyciski:

deleteList('wiadomosc','nazwa_taska','podpis');

wywołuje się go tak samo jak powyższe z tą różnicą że ma 3 parametr wiadomość w której wpisujemy pytanie czy użytkownik jest pewien że chce coś usunąć. Jeśli przyciski dostarczone przez Joomla są nie wystarczające, mamy jeszcze dwie metody które pozwalają nam na dodanie własnych przycisków są to:

custom('nazwa_taska', 'ikona', 'ikona_po_najechaniu', 'podpis', lista, x);
customX('nazwa_taska', 'ikona', 'ikona_po_najechaniu', 'podpis', lista);

parametr wymagający wyjaśnienia to lista – przyjmuje wartość logiczną true lub false a oznacza czy wymagane jest zaznaczenie elementu na liście.

Parametr x również przybiera wartość logiczną i decyduje o tym czy menu ma zostać zablokowane.

Istnieje jeszcze przycisk Parameters na który jednak poświęcony zostanie osobny artykuł. Pominąłem kilka mniej ważnych ikon ale może kiedyś się je zdecyduję opisać.

Jeszcze jedna ważna sprawa... w pliku szablonu default.php i innych (w katalogu tmpl) musi być umieszczony formularz z ukrytymi polami „option” oraz „task” później przy bardziej zaawansowanych komponentach przekonasz się że, będą potrzebne również inne pola.

<form action="index.php" method="post" name="adminForm">
<input type="hidden" name="option" value="<?php echo $option; ?>" />
<input type="hidden" name="task" value="" />
</form>

Poniżej znajdziesz paczkę z komponentem (bez instalatora na razie) należy ją rozpakować i skopiować do katalogu administrator/components. Komponent wywołujemy adresem http://adres.xyz/administrator/index.php?option=com_witaj.


Załącznik do lekcji 7 HOT
Data 2016-04-04 Wielkość pliku 2.69 KB Download 247 Pobierz

Odsłony: 12372