8
03/2008 Technika 50 W pierwszej części artykułu poka- żemy na praktycznym przykła- dzie jak skorzystać z możliwo- ści umieszczenia w treści artykułu własnego kodu php, za pomocą dodatku Add PHP. Run Digital Add PHP RD Add PHP to dodatek (bot) umożliwiają- cy wstawienie do artykułu kodu PHP, który zostanie wykonany. Dodatek instalujemy wybierając z menu Instalatory –> Boty. Po wczytaniu plik bę- dzie widoczny na liście Zainstalowane boty. Przed użyciem musimy go jeszcze opubliko- wać wybierając z menu Boty –> Boty witryna i Publikacja. Użycie tego dodatku jest bardzo proste – wystarczy w treści wybranego artykułu wstawić nazwę pliku z kodem w postaci: {rdaddphp file=sciezka/plik.php} w miejscu gdzie ma być widoczny rezultat działania kodu. Podany plik może zawierać dowolny skrypt php który zostanie wykonany w chwili wyświetlenia artykułu Może to być nasz własny licznik, formularz, galeria czy zapytanie do bazy danych – cokolwiek po- trzebujemy. Można w ten sposób również wstawić do artykułu zawartość pliku teksto- wego (w ten sam sposób, podając nazwę pli- ku txt zamiast php) – jest to przydatna moż- liwość jeśli do wielu artykułów wstawiamy wspólny fragment tekstu; można go wtedy umieścić w zewnętrznym pliku i załączyć w podany sposób, późniejsze zmiany dla tego wspólnego fragmentu będą dokonywane tyl- ko w jednym pliku. Przykład zastosowania – strona czasopisma Magazyn Twój Ogród to darmowa gazetka, która chce również udostępniać swoje treści na stronie internetowej. Odwiedzający ma- ją mieć możliwość przeglądania aktualnego numeru i wszystkich poprzednich nume- rów wraz z całą ich zawartością. Możemy więc przygotować prosty skrypt php który pobierze z bazy danych informa- cje o dotychczas wydanych numerach i wy- świetli ich okładki oraz numery jako lin- ki – po kliknięciu w wybrany numer poka- że się jego spis treści jako kolejne pozycje w menu – one z kolei prowadzić będą do arty- kułów w danym numerze. Skrypt ten wstawimy do powitalnego ar- tykułu na stronie głównej. Domyślnie może- my też wyświetlić w menu spis treści aktu- alnego numeru (Rysunek 1.) Przygotowanie treści w serwisie: • Wykorzystamy sekcje i kategorie do po- grupowania treści. Sekcja określi dany numer magazynu a kategorie w sekcji będą widoczne w menu jako jego spis treści, • nazwa sekcji to numer czasopisma li- cząc od pierwszego wydania (np. 64). Według nazwy sekcji będą pobierane dane z bazy więc nie może się ona po- wtarzać. Ta liczba również określi któ- ry numer jest najnowszy (największa liczba). • tytuł to podpis który wyświetli się pod czasopismem (np. 1(64)/2008), • do sekcji przypisać można też obrazek – okładkę magazynu która wyświe- tli się na stronie głównej gdzie będzie można wybrać dany numer. Żeby ob- razki pojawiły się na liście rozwijanej obok pola Grafika należy je umieścić na serwerze w katalogu images/stories (Rysunek 2.) Do sekcji przypisujemy kategorie. Tytuł ka- tegorii to pozycja w spisie treści danego wy- dania i wyświetlana będzie jako link w me- nu. Po kliknięciu w ten link pokażą się ar- tykuły z danej pozycji. Dodajemy artykuły wybierając dla każde- go odpowiednią sekcję (numer magazynu) i kategorię (temat). Przygotowanie skryptu: • Zadaniem naszego skryptu będzie wy- świetlenie okładek wydanych magazy- nów i oraz ich numerów jako linków które wyświetlą spis treści danego nu- meru (Listing 1.) Musimy teraz utworzyć artykuł lub mate- riał statyczny który wyświetli na stronie głównej rezultat działania naszego skryp- tu. Możemy umieścić w nim dowolne tre- ści (Rysunek. 3) a w miejscu gdzie mają wy- świetlić się okładki wstawiamy: {rdaddphp file=skrypty/sekcje.php} Joomla! Dla Joomla! istnieje wiele użytecznych dodatków – w tym artykule pojawią się trzy z nich – które zwiększają już i tak duże możliwości tego systemu a za pomocą niewielkiej ilości kodu php możemy jeszcze lepiej dopasować je do swoich potrzeb. Dowiesz się... • Jak dopasować system do własnych potrzeb za pomocą dostępnych komponentów; • Jak umieścić własny skrypt PHP za pomocą Add PHP; • Jak dodawać ogłoszenia za pomocą kompo- nentu JA. Powinieneś wiedzieć... • Umiejętność zainstalowania systemu Joomla! oraz dodatkowych komponentów; • Umiejętność tworzenia sekcji, kategorii i arty- kułów w Joomla!; • Podstawowa wiedza z zakresu PHP. Poziom trudności Przydatne dodatki

Joomla! - przydatne dodatki

Embed Size (px)

Citation preview

Page 1: Joomla! - przydatne dodatki

03/2008

Technika

50

Joomla!

www.phpsolmag.org 51

W pierwszej części artykułu poka-żemy na praktycznym przykła-dzie jak skorzystać z możliwo-

ści umieszczenia w treści artykułu własnego kodu php, za pomocą dodatku Add PHP.

Run Digital Add PHPRD Add PHP to dodatek (bot) umożliwiają-cy wstawienie do artykułu kodu PHP, który zostanie wykonany. Dodatek instalujemy wybierając z menu Instalatory –> Boty. Po wczytaniu plik bę-dzie widoczny na liście Zainstalowane boty. Przed użyciem musimy go jeszcze opubliko-wać wybierając z menu Boty –> Boty witryna i Publikacja.

Użycie tego dodatku jest bardzo proste – wystarczy w treści wybranego artykułu wstawić nazwę pliku z kodem w postaci:

{rdaddphp file=sciezka/plik.php}

w miejscu gdzie ma być widoczny rezultat działania kodu.

Podany plik może zawierać dowolny skrypt php który zostanie wykonany w chwili wyświetlenia artykułu Może to być nasz własny licznik, formularz, galeria czy zapytanie do bazy danych – cokolwiek po-

trzebujemy. Można w ten sposób również wstawić do artykułu zawartość pliku teksto-wego (w ten sam sposób, podając nazwę pli-ku txt zamiast php) – jest to przydatna moż-liwość jeśli do wielu artykułów wstawiamy wspólny fragment tekstu; można go wtedy umieścić w zewnętrznym pliku i załączyć w podany sposób, późniejsze zmiany dla tego wspólnego fragmentu będą dokonywane tyl-ko w jednym pliku.

Przykład zastosowania – strona czasopismaMagazyn Twój Ogród to darmowa gazetka, która chce również udostępniać swoje treści na stronie internetowej. Odwiedzający ma-ją mieć możliwość przeglądania aktualnego numeru i wszystkich poprzednich nume-rów wraz z całą ich zawartością.

Możemy więc przygotować prosty skrypt php który pobierze z bazy danych informa-cje o dotychczas wydanych numerach i wy-świetli ich okładki oraz numery jako lin-ki – po kliknięciu w wybrany numer poka-że się jego spis treści jako kolejne pozycje w menu – one z kolei prowadzić będą do arty-kułów w danym numerze.

Skrypt ten wstawimy do powitalnego ar-tykułu na stronie głównej. Domyślnie może-my też wyświetlić w menu spis treści aktu-alnego numeru (Rysunek 1.) Przygotowanie treści w serwisie:

• Wykorzystamy sekcje i kategorie do po-grupowania treści. Sekcja określi dany

numer magazynu a kategorie w sekcji będą widoczne w menu jako jego spis treści,

• nazwa sekcji to numer czasopisma li-cząc od pierwszego wydania (np. 64). Według nazwy sekcji będą pobierane dane z bazy więc nie może się ona po-wtarzać. Ta liczba również określi któ-ry numer jest najnowszy (największa liczba).

• tytuł to podpis który wyświetli się pod czasopismem (np. 1(64)/2008),

• do sekcji przypisać można też obrazek – okładkę magazynu która wyświe-tli się na stronie głównej gdzie będzie można wybrać dany numer. Żeby ob-razki pojawiły się na liście rozwijanej obok pola Grafika należy je umieścić na serwerze w katalogu images/stories (Rysunek 2.)

Do sekcji przypisujemy kategorie. Tytuł ka-tegorii to pozycja w spisie treści danego wy-dania i wyświetlana będzie jako link w me-nu. Po kliknięciu w ten link pokażą się ar-tykuły z danej pozycji.

Dodajemy artykuły wybierając dla każde-go odpowiednią sekcję (numer magazynu) i kategorię (temat). Przygotowanie skryptu:

• Zadaniem naszego skryptu będzie wy-świetlenie okładek wydanych magazy-nów i oraz ich numerów jako linków które wyświetlą spis treści danego nu-meru (Listing 1.)

Musimy teraz utworzyć artykuł lub mate-riał statyczny który wyświetli na stronie głównej rezultat działania naszego skryp-tu. Możemy umieścić w nim dowolne tre-ści (Rysunek. 3) a w miejscu gdzie mają wy-świetlić się okładki wstawiamy:

{rdaddphp file=skrypty/sekcje.php}

Joomla!

Dla Joomla! istnieje wiele użytecznych dodatków – w tym artykule pojawią się trzy z nich – które zwiększają już i tak duże możliwości tego systemu a za pomocą niewielkiej ilości kodu php możemy jeszcze lepiej dopasować je do swoich potrzeb.

Dowiesz się...• Jak dopasować system do własnych potrzeb

za pomocą dostępnych komponentów;

• Jak umieścić własny skrypt PHP za pomocą

Add PHP;

• Jak dodawać ogłoszenia za pomocą kompo-

nentu JA.

Powinieneś wiedzieć...• Umiejętność zainstalowania systemu Joomla!

oraz dodatkowych komponentów;

• Umiejętność tworzenia sekcji, kategorii i arty-

kułów w Joomla!;

• Podstawowa wiedza z zakresu PHP.

Poziom trudności

Przydatne dodatki

Page 2: Joomla! - przydatne dodatki

03/2008

Technika

50

Joomla!

www.phpsolmag.org 51

Po utworzeniu materiału umieszczamy go jako pierwszą pozycję w menu (Menu –> mainmenu) żeby wyświetlił się jako strona startowa oraz żeby umożliwić odwiedza-jącym powrót do strony z wyborem maga-zynu (Rysunek 4.). Zostało nam jeszcze do przygotowania wyświetlanie spisu treści da-nego numeru – po kliknięciu w link pod wybranym numerem następuje przekaza-nie informacji o numerze sekcji (czyli o nu-merze danego magazynu którego spis treści ma się pokazać). Możemy zrobić to na kil-ka sposobów – ponieważ w przypadku tego serwisu w menu z lewej strony zawsze wy-świetlamy jakiś spis treści możemy po pro-stu wstawić skrypt w naszym pliku strony – index.php z katalogu aktualnego szablo-nu (templates –> katalog z szablonem). Od-najdujemy w nim wpis:

<?php mosLoadModules ('left'); ?>

Który wyświetla moduły przypisane do ob-szaru left (jak np. nasze menu główne). Pod nim wstawiamy skrypt wyświetlający linki do artykułów z danego numeru:

<? include ('skrypty/spis.php'); ?>

Z bazy danych pobierane są informacje o kategoriach w podanej sekcji i zostają wy-świetlone jako linki do artykułów z kate-gorii (task=blogcategory).

Jeśli sekcja nie została podana wyświetla się spis treści z ostatniego numeru (katego-rie z sekcji o najwyższym numerze w na-zwie). Skrypt widoczny na Listingu 2.

Artykuły wyświetlane są w sposób do-myślny (Rysunek 5.)

Jeśli chcemy określić swój sposób wyświe-tlania treści (ilość kolumn, kolejność arty-kułów itd.) możemy w menu głównym (Me-nu –> mainmenu) utworzyć przykładowy link do artykułów w sekcji dla którego okre-

Rysunek 1. Pierwsza strona magazynu Twój Ogród – z lewej spis treści aktualnego numeru, obok okładki i linki do poprzednich numerów

Rysunek 2. Nowa sekcja – grudniowy numer magazynu

Rysunek 3. Przykład artykułu z wstawionym kodem php

Rysunek 4. Łącze do materiału który wyświetli się na stronie głównej w menu głównym

Page 3: Joomla! - przydatne dodatki

03/2008

Technika

52

Joomla!

www.phpsolmag.org 53

ślimy wszystkie te ustawienia – link ten nie będzie opublikowany (Rysunek 6.) ale mo-żemy wykorzystać go jako wzór w naszym skrypcie (plik spis.php), w miejscu gdzie wstawiamy linki do artykułów, podając jego identyfikator (ID pozycji menu):

echo"<a href=\"$mosConfig_live_site?option=com

_content&task=blogcategory&id=$id_k&Itemid=3\

" class=

\"mainlevel\">$title_k</a><br />";

Artykuły będą teraz wyświetlane w sposób ja-ki określiliśmy w naszym wzorze (Rysunek 7.)

Skrypt można łatwo dostosować do własnych potrzeb, określając jakie treści mają być widocz-ne na stronie oraz sposób ich wyświetlania.

Ulepszamy galerięW tej części artykułu zaprezentujemy kom-ponent PonyGallery który umożliwi nam szybkie stworzenie galerii zdjęć na naszej stronie. Pokażemy również jak stworzyć możliwość wypisania kategorii naszych zdjęć w postaci linków tekstowych.

PonyGalleryKomponent instalujemy wybierając z menu Insta-latory –> Komponenty. Po wczytaniu pliku Pony-Gallery będzie widoczny w menu Komponenty.

Możemy teraz tworzyć kategorie zdjęć, wczytywać pliki, zmieniać ich tytuły, opisy, przydział do kategorii itd. Miniaturkę dla kategorii można wybrać z listy po wczyta-niu zdjęć do danej kategorii.

Żeby dodać link do galerii zdjęć jako pozycję w menu wybieramy Menu –> mainmenu, Dodaj, Komponent, podajemy nazwę (np. Galeria) i wska-zujemy na liście komponentów PonyGallery.

Po wczytaniu zdjęć możemy zobaczyć naszą ga-lerię na stronie (Rysunek 8.). Sposób wyświetlania zdjęć na stronie oraz informacje jakie są przy tym widoczne możemy określić w części administracyj-nej za pomocą Configuration Managera PonyGalle-ry. Na stronie wyświetlają się nazwy kategorii wraz z przypisanymi im obrazkami. Po kliknięciu w da-ną kategorię możemy zobaczyć umieszczone w niej zdjęcia (Rysunek 9.).

Dodajemy linki w menuDo wyboru galerii możemy wrócić klikając przy-cisk wstecz jeśli jednak mamy duży wybór zdjęć w wielu kategoriach może przydać się nam ich spis w postaci linków zawsze widocznych na stronie.

Rezultat ten możemy osiągnąć w podobny spo-sób co w poprzednim przykładzie – tworzymy od-powiedni skrypt i umieszczamy go tam gdzie ma być widoczny – w artykule lub w danym menu. Wstawienie skryptu w menu bocznym: W pliku index.php z katalogu aktualnego szablonu (templa-tes –> katalog z szablonem) odnajdujemy wpis:

<?php mosLoadModules ('left'); ?>

Który wyświetla moduły przypisane do ob-szaru left (jak np. nasze menu główne). Pod nim wstawiamy skrypt wyświetlający linki do kategorii naszych zdjęć:

<? include ('skrypty/linki.php'); ?>

Rysunek 5. Domyślny sposób wyświetlania artykułów

Rysunek 6. Przykładowa pozycja w menu z zapisanymi ustawieniami dotyczącymi wyświetlania artykułów

Rysunek 7. Artykuły wyświetlane w sposób określony za pomocą jednej pozycji w menu głównym

Rysunek 8. Kategorie zdjęć stworzone a pomocą PonyGallery

Page 4: Joomla! - przydatne dodatki

03/2008

Technika

52

Joomla!

www.phpsolmag.org 53

Mając już linki widoczne w menu możemy usunąć link Galeria wyłączając publikację tej pozycji (Menu –> mainmenu). Rezultat widoczny jest na Rysunku 10. Zawartość pliku linki.php przedstawia Listing 3

Skrypt można dalej rozbudowywać – do-dając opcję wyświetlania linków do podka-tegorii lub zmieniając zawartość menu w za-

leżności od wyboru odwiedzającego (gale-ria – treści).

Dodajemy ogłoszeniaOstatnim prezentowanym przez nas w tym artykule dodatkiem jest komponent JA Sub-mit umożliwiający dodawanie ogłoszeń na stronie.

Komponent instalujemy wybierając z menu In-stalatory –> Komponenty. Po wczytaniu pliku JA Submit będzie widoczny w menu Komponenty.

Żeby dodać link umożliwiający dodawanie ogłoszeń jako pozycję w menu wybieramy Me-nu –> mainmenu, Dodaj, Komponent, podajemy nazwę (np. Dodaj ogłoszenie) i wskazujemy na liście komponentów JA Submit (Rysunek 11.).

Widok formularza dodawania ogłoszeń na stronie przedstawia Rysunek 12.

Ogłoszenia mogą być dodawane w udostęp-nionych przez nas kategoriach (można je okre-ślić w ustawieniach komponentu JA Submit (menu Komponenty –> JA Submit –> Ustawie-nia) Dodane ogłoszenia widoczne są w części administracyjnej jako artykuły w danej kate-gorii i tam możemy je opublikować lub usu-nąć. Po opublikowaniu ogłoszenie pojawi się na stronie jako artykuł.

Modyfikujemy komponentPliki komponentu znajdują się w katalo-gu components/com_ja_submit. Plik ja_sub-

Rysunek 9. Widok wybranej kategorii

Rysunek 10. Linki do kategorii zdjęć widoczne w lewym menu

Listing 1. Skrypt wyświetlający okładki magazynów oraz linki do spisu treści (plik sekcje.php)

//połączenie z bazą danych nawiązane w osobnym pliku i zapisane w zmiennej $connect

require('connect.php');

//tabela sekcje

$tablename="jos_sections";

//wczytanie danych opublikowanych sekcji

$query="select id, title, image from $tablename where published='1'";

$result=mysql_query($query, $connect);

if(!$result) error_message(sql_error());

//wyświetlenie na stronie okładek z linkami -- po trzy w jednym rzędzie:

?>

<div style="padding-left: 10px; padding-top: 10px; display: block; height: 250px;

margin-top: 10px;">

<?

$licz=0;

while($query_data=mysql_fetch_array($result))

{

if (($licz!=0)&&(($licz % 3)= =0))

{

?>

<div style="padding-top: 25px; display: block; height: 250px; margin-top: 10px;

clear:both">

<?

}

$id_s=$query_data["id"];

$title_s=$query_data["title"];

$image_s=$query_data["image"];

?>

<div style="display: block; float: left; text-align: left; padding-left: 20px;">

<?

//okładki

echo"<img src=\"images/stories/$image_s\" border=\"0\" alt=\"$title\"> <br /><br

/>";

//numery jako linki -- przekazanie informacji o identyfikatorze sekcji

echo"<a href=\"$mosConfig_live_site?sekcja=$id_s\"><strong>Numer:</strong> $title_

s</a>";

?>

</div>

<?

$licz++;

}

echo"</div>";

?>

Informacje o wersjach użytych w artykule:

• Joomla 1.0.13 JIE iso

Dodatki:

• RD Add PHP 4.5.2• Pony Gallery ML 2.4.1• JA Submit 2.1 pl.

W Sieci

• Polskie Centrum Joomla! – http://www.joomla.pl• Strona z której można pobrać RD Add PHP – http://www.run-digital.com (dodatek można

również pobrać ze strony joomla.pl)• PonyGallery – strona projektu – http://www.taher-zadeh.com (komponent można również

pobrać ze strony joomla.pl)• Strona JA Submit – http://www.joomlart.com

Page 5: Joomla! - przydatne dodatki

03/2008

Technika

54

Joomla!

www.phpsolmag.org 55

Listing 2. Skrypt wyświetlający linki do artykułów z wybranego numeru magazynu (spis.php)

<?

//funkcja wypisuje kategorie z danej sekcji jako linki do listy

artykułów

function links($sekcja, $connect)

{

//tabela kategorii

$tablename="jos_categories";

$query="select id, title from $tablename where published='1'

AND section='$sekcja'";

$result=mysql_query($query, $connect);

if(!$result) error_message(sql_error());

while($query_data=mysql_fetch_array($result))

{

$id_k=$query_data["id"];

$title_k=$query_data["title"];

//link do listy artykułów z danej kategorii

echo"<a href=\"$mosConfig_live_site?option=com_content

&task=blogcategory&id=$id_k\" class=\

"mainlevel\">$title_k</a><br />";

}

}

//funkcja sprawdza najnowszy numer magazynu

function pokaz_ost()

{

require('connect.php');

//tabela sekcji

$tablename="jos_sections";

$query="SELECT MAX(name) AS name FROM $tablename";

$result=mysql_query($query, $connect);

if(!$result) error_message(sql_error());

$dane=mysql_fetch_row($result);

$nazwa_sekcji=$dane[0];

$query="SELECT id from $tablename where name='$nazwa_

sekcji'";

$result=mysql_query($query, $connect);

if(!$result) error_message(sql_error());

$dane=mysql_fetch_row($result);

$id_sekcji=$dane[0];

//pokaż spis treści

links($id_sekcji, $connect);

}

//nr sekcji z linku na stronie głównej

$sekcja=$_GET["sekcja"];

//dane z linku w menu bocznym

$id_kat=$_GET["id"];

$option=$_GET["option"];

$task=$_GET["task"];

//pokaż spis treści wybranego numeru

if($sekcja)

{

//pokaż spis treści

links($sekcja, $connect);

}

//brak sekcji

else

{

//jest id kategorii, wyświetlana jest lista artykułów lub

wybrany artykuł

if(($id_kat)&&($option= ='com_content')&&(($task= ='blogcat

egory')||($task= ='view')))

{

require('connect.php');

if($task= ='view')

{

//sprawdź sekcję wyświetlanego artykułu

$id_art=$_GET["id"];

//tabela artykułów

$tablename="jos_content";

$query="select sectionid, catid from $tablename where

id='$id_art'";

$result=mysql_query($query, $connect);

if(!$result) error_message(sql_error());

$dane=mysql_fetch_row($result);

$id_sekcji=$dane[0];

$id_kategori=$dane[1];

}

else

{

//sprawdź sekcję danej kategorii

//tabela kategorii

$tablename="jos_categories";

$query="select section from $tablename where id='$id_

kat'";

$result=mysql_query($query, $connect);

if(!$result) error_message(sql_error());

$dane=mysql_fetch_row($result);

$id_sekcji=$dane[0];

}

//tabela sekcji

$tablename="jos_sections";

$query="select title from $tablename where id='$id_sekcji'";

$result=mysql_query($query, $connect);

if(!$result) error_message(sql_error());

$dane=mysql_fetch_row($result);

$tytul_s=$dane[0];

//brak sekcji i kategorii, pokaż spis najnowszego numeru

if(($id_sekcji= =0)&&($id_kategori= =0))

{

pokaz_ost();

}

else

{

//pokaz spis treści danego numeru

links($id_sekcji, $connect);

}

}

//pierwsza strona, spis streści dla najnowszego numeru

else

{

pokaz_ost();

}

}

?>

Page 6: Joomla! - przydatne dodatki

03/2008

Technika

54

Joomla!

www.phpsolmag.org 55

Listing 3. Skrypt wyświetlający w menu linki tekstowe do kategorii zdjęć (linki.php)

<?

//połączenie z bazą danych nawiązane w osobnym pliku i zapisane w zmiennej $connect

include ("connect.php");

//tabela z kategoriami zdjęć

$tablename='jos_ponygallery_catg';

$query="SELECT * FROM $tablename WHERE published = '1' AND parent = 0";

$odp=mysql_query ($query, $connect);

while($query_data=mysql_fetch_array($odp))

{

//identyfikator kategorii

$cid=$query_data["cid"];

//nazwa kategorii

$name=$query_data["name"];

//link

echo"<a href=\"index.php?option=com_ponygallery&func=viewcategory&catid=$cid\">$name</a><br><br>";

}

?>

Listing 4. Przykładowy fragment wyświetla pole Imię i nazwisko

<?

/*

<tr><td><label for="created_by_alias"><?php echo _H_FULLNAME; ?>*</label>:</td>

<td><input class="inputbox" type="text" name="created_by_alias" id="created_by_alias" size="50" maxlength="50" value="<?php echo

$my->name; ?>" style="width:200px;" /></td></tr>

*/

?>

Listing 5. Kod wyświetlający w formularzu dodawania ogłoszeń nowe pola umożliwiające wstawienie daty rozpoczęcia i zakończenia ogłoszenia. (plik ja_submit.html.php)

<?

<tr>

<td colspan="2" align="left" style="vertical-align: top;">

<div style="height: 50px; padding-top: 20px;">

Data rozpoczęcia ogłoszenia:

<input class="inputbox" type="text" name="publish_up" id="publish_up" size="17" maxlength="19" value="<?php echo $row->publish_up;

?>" />

<input type="reset" class="button" value="kalendarz" onclick="return showCalendar('publish_up', 'y-mm-dd');" />

</div>

</td>

</tr>

<tr>

<td colspan="2" align="left" style="vertical-align: top;">

<div style="height: 50px;">

Data zakończenia ogłoszenia:

<input class="inputbox" type="text" name="publish_down" id="publish_down" size="17" maxlength="19" value="<?php echo $row->publish_

down; ?>" />

<input type="reset" class="button" value="kalendarz" onclick="return showCalendar('publish_down', 'y-mm-dd');" />

</div>

</td>

</tr>

?>

Listing 6. W pliku index.php z katalogu aktualnego szablonu (templates –> katalog z szablonem) w części head wstawiamy linki

<link rel="stylesheet" type="text/css" href="<?php echo $mosConfig_live_site;?>/includes/js/calendar/calendar-mos.css" />

<script language="javascript" type="text/javascript" src="<?php echo $mosConfig_live_site;?>/includes/js/calendar/calendar_mini.js"></

script>

<script language="javascript" type="text/javascript" src="<?php echo $mosConfig_live_site;?>/includes/js/calendar/lang/calendar-

pl.js"></script>

Page 7: Joomla! - przydatne dodatki

03/2008

Technika

56

mit.html.php wyświetla formularz widoczny na stronie – możemy tutaj ukryć pola któ-rych nie chcemy wyświetlać (np. imię i na-zwisko czy możliwość dodawania grafiki). Umieszczając go w komentarzu powodujemy że nie będzie on widoczny na stronie. Musi-my jeszcze uwzględnić tą zmianę w funkcji submitbutton która sprawdza czy wszystkie wymagane pola są wypełnione. Bierzemy w komentarz odpowiedni jej fragment:

/*

else if ( form.created_by_alias.value = =

"" ) {

alert ( "<?php echo _H_ENTER_NAME; ?>" );}*/

Instrukcję dodawania ogłoszeń, która jest wi-doczna nad formularzem możemy zmodyfiko-wać zmieniając tekst w pliku polish.php (w ka-talogu components/com_ja_submit/language).

Na koniec pokażemy jak dodać dwa nowe pola do formularza tak żeby dodający ogłosze-nia sami mogli zadecydować o dacie rozpoczę-cia i zakończenia ogłoszenia (administrator ma dostęp do tych pól w edycji artykułu). W pliku ja_submit.html.php w miejscu gdzie ma-ją być widoczne nowe pola wklejamy kod sko-piowany z części administracyjnej (Listing 5). Ostatnia część to wyświetlenie kalendarza po kliknięciu w przycisk. Skrypty kalendarza znajdują się w katalogu includes/js/calendar musimy więc wstawić do nich link w części head naszej strony. Wstawione daty będą wi-doczne w części administracyjnej w edycji ar-tykułu jako pola Rozpocznij i Zakończ. Zmody-fikowany formularz przedstawia Rysunek 13.

MAGDALENA MARYAŃSKAAutorka pracuje na Politechnice Krakowskiej ja-

ko webmaster.

Kontakt: [email protected]

Rysunek 11. Dodanie linku do komponentu JA Submit w menu głównym

Rysunek 12. Formularz dodawania ogłoszeń na stronie

Rysunek 13. Wygląd formularza dodawania ogłoszeń po wprowadzeniu zmian

Page 8: Joomla! - przydatne dodatki

Joomla!

www.phpsolmag.org 57