Joomla! - przydatne dodatki.pdf
(
1361 KB
)
Pobierz
37151875 UNPDF
Technika
Joomla!
Przydatne dodatki
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.
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.)
Poziom trudności
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.
W
pierwszej części artykułu poka-
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:
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:
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.)
{rdaddphp ile=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-
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:
• Wykorzystamy sekcje i kategorie do po-
grupowania treści. Sekcja określi dany
{rdaddphp ile=skrypty/sekcje.php}
50
03/2008
ż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.
Joomla!
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:
Rysunek 2.
Nowa sekcja – grudniowy numer magazynu
<?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 3.
Przykład artykułu z wstawionym kodem php
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 4.
Łącze do materiału który wyświetli się na stronie głównej w menu głównym
www.phpsolmag.org
51
Technika
ś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):
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.
Ż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.).
echo"<a href=\"$mosConig_live_site?option=com
_content&task=blogcategory&id=$id_k&Itemid=3\
" class=
\"mainlevel\">$title_k</a><br />";
PonyGallery
Komponent 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.
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.
Dodajemy linki w menu
Do 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 7.
Artykuły wyświetlane w sposób określony
za pomocą jednej pozycji w menu głównym
Rysunek 6.
Przykładowa pozycja w menu z zapisanymi ustawieniami dotyczącymi wyświetlania artykułów
Rysunek 8.
Kategorie zdjęć stworzone a pomocą
PonyGallery
52
03/2008
Joomla!
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).
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ł.
Dodajemy ogłoszenia
Ostatnim prezentowanym przez nas w tym
artykule dodatkiem jest komponent JA Sub-
mit umożliwiający dodawanie ogłoszeń na
stronie.
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
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
())
;
Modyfikujemy komponent
Pliki komponentu znajdują się w katalo-
gu
components/com_ja_submit
. Plik
ja_sub-
//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"
>
Rysunek 9.
Widok wybranej kategorii
<?
}
$id_s
=
$query_data
[
"id"
]
;
$title_s
=
$query_data
[
"title"
]
;
$image_s
=
$query_data
[
"image"
]
;
?>
<
div style=
"display: block; loat: 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 identyikatorze sekcji
echo
"
<
a href=\
"$mosConig_live_site?sekcja=$id_s\"
><
strong
>
Numer:
<
/strong
>
$title_
s
<
/a
>
";
Rysunek 10.
Linki do kategorii zdjęć widoczne w
lewym menu
Informacje
o wersjach użytych w artykule:
?>
<
/div
>
<?
$licz
++;
}
echo
"
<
/div
>
";
?>
• Joomla 1.0.13 JIE iso
Dodatki:
• RD Add PHP 4.5.2
• Pony Gallery ML 2.4.1
• JA Submit 2.1 pl.
www.phpsolmag.org
53
Technika
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());
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
()
;
}
}
?>
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=\
"$mosConig_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
54
03/2008
Plik z chomika:
Georgo
Inne pliki z tego folderu:
kickstart-3.3.2.zip
(139 KB)
joomla 1.5 - prosty przepis na własną stronę www (helion).rar
(159899 KB)
mov_amp_Joomla_1.5.14_PL.rar
(21419 KB)
Artisteer.2.3.0.23326(1).rar
(60256 KB)
Video kurs z IKOD - Joomla w praktyce [PL].rar
(240202 KB)
Inne foldery tego chomika:
Android
Apache PHP PostreSQL
Dokumenty
HTML5 i CSS3
Kurs Fotografii Olympus
Zgłoś jeśli
naruszono regulamin