Joomla Tworzenie stron WWW Szybki start (1)

o Peachpit Press Marni Derr, Tanya Symes Fworzenie stron WWW Rozpocznij swojq Drzygodę z Joom Helion Tytuł orygina...

7 downloads 26 Views 46MB Size
nagłówka, ale przed zamykającym znacznikiem osłony, wpisz następujący kod:
< / d i v>


W ten sposób dodane zostały kontenery dla pozycji lewej kolumny, dokumentu głównego (dla komponentów), pozycji prawej kolumny i pozycji stopki. Tworzenie szablonu dla systemu Joomla nie różni się zbytnio od tworzenia dowolnego standardowego projektu WWW; jedyna różnica polega na tym, gdzie i jak użyć funkcji PHP, aby system Joomla mógł poprawnie wygenerować witrynę (rysunek 9.10).

253

Rozdział I.

4. Dodaj pozostały kod, co przedstawia rysunek 9.11, lub pobierz uzupełniony plik index.php z witryny stanowiącej uzupełnienie książki.

< ? p h p echo Smainframe->gezcfgi

42 43


41


Wskazówka

' s i tenarae ' ) ; ? > < b r

1d«"wrapper">

45 46 47 4S 49 »o si

5. Zapisz plik.

• Na razie nie różni się to niczym od standardowego układu CSS strony WWW. W tym momencie warto utworzyć oddzielny plik layout.css, aby strona działała poprawnie. Na tym etapie szablon nie może komunikować się bezpośrednio z systemem Joomla, ale nie chcesz chyba zmagać się z układem, rozwiązując problemy z funkcjami PH P. Bez paniki, na obecnym etapie są to bardzo łatwe i proste funkcje. Jeśli masz już działający projekt, możesz przystąpić do dodania instrukcji nagłówkowych j :doc. W każdym momencie możesz wprowadzać ulepszenia w układzie.

39 40

ich"header ">


" t o p .> < d i v i d~= ! 'user 1 " x / d i v >
<,-" d i v>

§ [I i : | | f K es S9 ro 71 ?2 75 | fis®®; 75 7s . 7 S 79 SO f

< d i v i d»«"' u s a r S " > < / d i v>
<

d

i

v id="right_col">


;

< / d i V> S2 83
84::;:
S5
ss
| s?
: ss- V ss
: ; : v # ' ';'i
31 92 < div> 33 S4

Rysunek 9.11. Pozostałe kontenery div dla szablonu Joomla

254

Tworzenie szablonów dla systemu Joomla

Dodawanie instrukcji jdoc:indude do pliku index.php Bez instrukcji jdoc: incl ude szablon nie będzie działać. Metoda jdoc informuje system Joomla 0 tym, jakie elementy należy umieścić na pozycjach używanych w Twoim szablonie. Rysunek 9.12 przedstawia przykład używanych pozycji. Jak widać, między kontenerami div a pozycjami powinna zachodzić korelacja typu jeden do jednego. Dobrym zwyczajem jest nadawanie takich samych nazw pozycjom 1 identyfikatorom kontenerów di v, dzięki czemu podczas wybierania pozycji dla swoich menu i modułów łatwo znajdziesz tę właściwą.

O 0 o .

tJ 1 w

3

r i

ET

o. n CL

o " O

Sc

Rysunek 9.12.

Projekt w układzie szkieletowym przedstawiający pozycje szablonu Joomla

255

Rozdział I.

• j doc ¡include: Funkcja obiekt:metoda, która nakazuje systemowi Joomla wyświetlanie wywoływanego typu. • type="modul e": Informuje system Joomla 0 typie dołączanego obiektu. Istnieją trzy typy: head (nagłówek), modules (moduł) 1 component (komponent). • name="location": Nagłówek i komponent nie mają lokalizacji, jest to definiowane przez system. Nagłówek to dynamicznie generowane metadane, które będą wyświetlane na każdej stronie. Komponent może zostać wywołany tylko do głównej części strony. Moduł może zostać umieszczony w dowolnie wybranej lokalizacji, np. left, right, top, bottom, userl itd. • style="optional": Użycie stylu jest opcjonalne i dotyczy tylko modułów. Można zastosować następujące style: A tabl e: Wyświetla moduły przy użyciu układu tabel; jest to domyślny sposób wyświetlania, jeśli nie zadeklarujesz żadnego stylu. A horz: Wyświetla moduł horyzontalnie z wykorzystaniem formatu tabeli. A xhtml: Wyświetla moduł przy użyciu prostego elementu di v, a nie tabeli. A rounded: Umożliwia wyświetlenie modułu z zaokrąglonymi rogami za pomocą stylizacji CSS z użyciem zagnieżdżonych elementów di v. Zostanie to omówione w dalszej części rozdziału w części dotyczącej CSS. A outl ine: Nadaje modułowi obramowanie. A none: Wyświetla moduł w czystej postaci, bez formatowania. Tekst w dalszym ciągu będzie korzystał ze stylów z pliku template.css.

256

Tworzenie szablonów dla systemu Joomla

Większość szablonów używa opcji formatowania x h t m l i r o u n d e d . Daje to czysty kod i pozbawiony tabel układ dla modułów. Umożliwia to również wykorzystanie bardziej zaawansowanych technik CSS. Rysunek 9.13 przedstawia projekt w układzie szkieletowym określający szczegółowe położenie instrukcji j d o c .

Wskazówka •

Instrukcje jdoc:include

type="component"

i j d o c : i n c l ude type="head" to j e d y n e instrukcje, które nie m a j ą atrybutu nazwy ani stylu.

div id="wrapper"

Rysunek 9.13. Projekt w układzie szkieletowym

wyświetlający

położenie

instrukcji

jdoc

2S7

Rozdział 9.

Aby dodać wymagane instrukcje jdoc:indude: 1. Otwórz plik index, php w dowolnym edytorze tekstu. 2. Wstaw pusty wiersz między znacznikiem a znacznikiem zamykającym , a następnie wpisz następujący kod: < j d o c : i n c l u d e type="modules" style="xhtml" />

name="toolbar"

3. Wstaw pusty wiersz między znacznikiem a znacznikiem zamykającym , a następnie wpisz następujący kod: < j d o c : i n c l u d e type="component"

/>

Ponieważ komponentów można używać tylko w głównej części strony, instrukcja ta nie zawiera atrybutów styl e= ani name=. Aby uzyskać komponent niekorzystający z tabel lub nadać mu inny wygląd, musisz nadpisać podstawowe dane wyjściowe systemu Joomla. Będzie to omawiane na końcu tego rozdziału.

2S8

Tworzenie szablonów dla systemu Joomla

4. Aby dodać pozostałe instrukcje jdoc: i ncl ude, skorzystaj z rysunków 9.14 i 9.15. Pamiętaj, że instrukcje te muszą znajdować się między otwierającym i zamykającym znacznikiem di v danego elementu. Wskazówka • Uważaj na literówki; to najczęstszy powód niepoprawnego działania kodu. 34 35



36 37 38


id=' ..'"apper
39 40

">

id»"toolbc'

">

« j d o c : i n c l u d e <

type="modules"

name-"toolbar"

s t y l e = " x h t m l "

0

/>

a.

P>

div>

1

41 42


id»"header">
43 44

id="1nser':>
45

type="modu1es"

name="inset"

type="modules"

name="search"

s t y l e = " x h t m l "

l'

/>



46 47


43

i d - - " s e a r en'

>

< j d o c : i n c l u d e

49

s t y l e = " x h t m l "

/>

< / d i v >

50 51



52 53


54 55

id="mainnav">
type="modules"

rtame="mainnav"

s t y l e = " x h t m l "

3

/>

n



ex n

56 57


58 53

id="breadcrumb! < j d o c : i n c l u d e

<

!

c l a s s -

'c1earf1x">

type="modules"

name="breadcrumbs"

style="xbtml"

/> o

d i V>

60

61


id=:'top"

62


63

class = "cleari'ix"> i d = " u s e r l " >

< j d o c : i n c l u d e

64

type="«odul es"

nan?e="userl"

style="rounded"

/>

type="modules"

na«e="user2"

style="rounded"

/>

type="n»dules"

name="user3"

style="rounded"

/>



65 d - " u s s r 2 ">•


doc:include

€S 69 70


71 72 74

'"user

3">

'di v >


Rysunek 9.14. Dodawanie instrukcji jdocńnclude do kontenerów div

259

Rozdział

I.

?6

< d i v

i d = " m a i n c o n t e n t w r a p " >

77 78

< d i v

79 so

c j d o c : i n c l u d e type="modul es" n a m e = " l e f t " s t y l e = " x h t r a l "


i d = " l e f t _ c o l "

c l a s s = ' c 1 e a r f i

x">

/>

81 82

< d i v

83

1 d = " m a i n _ c o n t e n t "

c l a s s - " c l e a r f i x " >

c j d o c : i n c l u d e type="comporient"

84

/>

< / d i v >

ss ee 87 ss


i d = " u s e r 4 " >

< j d o c : i n c l u d e type="modules" name="user4" s t y l e = " x h t r a l "


/

89

9Q


92

id="user5"> < j d o c : i n c l u d e type="modules" name="user5"

style="xhtml"

< / d i v >

33

94 95


i d = " u s e r 6 " ?

c j d o c : i n c l u d e type="n»dules" name="user6"

96

style="xhtml"

< / d i v >

97 98

< d i v

99

i d = " r i g h t _ c o l "

cl a s s = " c l e a r f i

x " >

c j d o c ; i n c l u d e type="raodules" name="right" s t y l e="xhtrol" / >

100

< / d i v >

101 102



103

< d i v

i d = " b o t t o m " >

104

los X06


i d = " u s e r ? " >

c j d o c : i n c l u d e type="rłsodules" name="user7" style="rounded"

107

/>

< / d i v >

108

109 no


i d = " u s e r 8 " >

c j d o c : i n c l u d e type="modules" name="user8" s t y l e = " r o u n d e d "

111

/>

< / d i v >

112

lis 114 lis lie


id="user9"> < j d o c : i n c l u d e type="modules" name="user9" s t y l e = " r o u n d e d " />


117

118 lis 120 121


i d = " f o o t e r " >

c j d o c ¡ i n c l u d e type="modules" name="footer" s t y l e = " x h t m l "


122


123

124



-!?>;

< / h r m l >

c l e a r = " a l l "

/ >

Rysunek 9.15. Dodanie pozostałych

260

instrukcji

jdoc:incłude

>

Tworzenie szablonów dla systemu Joomla

Tworzenie pliku templateDetails.xml Strona index, php zawiera teraz podstawowe informacje niezbędne do funkcjonowania szablonu systemu Joomla. Szablon nie będzie jednak działać bez pliku templateDetails.xml. Plik templateDetails.xml zawiera listę wszystkich elementów wchodzących w skład szablonu, dzięki czemu system Joomla może go poprawnie wyświetlić. Tworzenie pliku X M L może być nieco uciążliwe, ale nie jest trudne. Podstawową zasadą, o której należy pamiętać, jest to, że wszystko, co istnieje w folderze Twojego szablonu, musi być uwzględnione w pliku XML. W pliku templateDetails.xml obszarów:

znajduje się sześć

• wersja systemu Joomla, • informacje o szablonie i jego twórcy, • lista plików, • lista pozycji, • lista grafik, • lista parametrów (opcjonalna). Wskazówka • W plikach X M L i XHTML rozróżniane są wielkie i małe litery. Dobrym zwyczajem jest stosowanie w nazwach grafik i plików wyłącznie małych liter. Jedynym wyjątkiem jest plik templateDetails.xml, gdyż taka jest wymagana nazwa tego pliku w systemie Joomla.

261

Rozdział I.

Aby utworzyć plik templateDetails.xml: 1. Otwórz plik templateDetails.xml tekstu.

w edytorze

2. Na początku strony wpisz:
encoding="utf-8"?>

Jest to określenie typu dokumentu (XML), wersji X M L (1.0) oraz rodzaju kodowania (UTF-8). 3. W następnym wierszu wpisz:
version="1.5"

type="template">

Ten wiersz informuje, że jest to plik X M L szablonu dla systemu Joomla w wersji 1.5. 4. W wierszach od 3. do 10. wpisz następujący kod: moj Szablon < c r e a t i onDate>2009 7woje imię i nozwisko /Vozwo Twojej / i r m y < / c o p y r i g h t > Twój adres e-mcriZ www. mo j a w i t r y n a . p l < / a u t h o r U r l > 1.0 < d e s c r i p t i o n > M ó j pierwszy szablon d l a systemu Joomla

Każdy element musi znajdować się w oddzielnym wierszu. Są to szczegółowe informacje na temat szablonu; będą one wyświetlane w polach panelu zarządzania szablonami. Po zakończeniu Twój plik będzie wyglądał tak jak na rysunku 9.16.

1 2 3 4 s 6 7 s 9 10 ił

c i n s t a l l v e r s i o n « " ! . 5" t y p e = " t e m p 1 a t e " > mojszabl on< •'name> ¿2009 Jan Kowalskie author> GPL< c o p y r i g h t >
[email protected] www.raojawitryna. p l < authorUr1> < v e r s i o n > l . 0<, v e r s i o n > < d e s c r i p t i o n > M ó j p i e r w s z y s z a b l o n d l a systemu Joomla<

Rysunek 9.16. Metadane w pliku templateDetails.xml

262

description>|

Tworzenie szablonów dla systemu Joomla

5. Zapisz plik. 6. W wierszu 12. wpisz , a następnie zamknij go znacznikiem . Każdy plik używany przez szablon musi zostać wpisany między znacznikiem otwierającym a zamykającym wraz z poprawną ścieżką dostępu. 7. Między otwierającym a zamykającym znacznikiem wpisz: < f i 1ename>i n d e x . p h p < / f i 1ename> < f i 1ename>templateDetai1s.xml < / f i 1 ename> < f i 1ename>params.i ni < / f i 1ename>

Obecnie są to wszystkie pliki używane przez szablon. W miarę dodawania kolejnych plików, np. plików JavaScript, musisz je tutaj dopisać (rysunek 9.17). 8. Dodaj poniższe wiersze bezpośrednio poniżej znacznika zamykającego
: < f i 1 e n a m e > c s s / l a y o u t , c s s < / f i 1ename> < f i 1 e n a m e > c s s / t e m p l a t e . c s s < / f i 1ename>

1 2 5 4 s 6 7 s 9 10

< 1 retail v e r s i o n » ' i . 5 " t y p e - " t e « i p l a t e " > < n a « e x a o j s z a b l on«.' name > «creationDate>2009< creationDate> < a u t h o r > 3 a n Kowal s k i «./author > • «copyr i ght>GPL«/copyr i ght > jkowalsk1®mojawitryna.pl<.author Email> « a u t h o r l i r l >www. i n o j a w i t r y n a . p i « / a u t h o r U r l > i < v e r s i o n > l . 0 M ó j p i e r w s z y s z a b l o n d l a systemu JJoomlac/description>

11

12 13 14 is 16

;«files> index. p h p < / f i 1 enarae> teraplateoetai I s . x m l « / f i l e n a m e > < f 1 l e n a m e > p a r a m s . i n i < f i 1ename> ¡

Rysunek 9 . 1 7 . Listu plików

dodana

do pliku

templateDetails.xml

263

Rozdział I.

Pliki CSS można też wymienić w sekcji ; jest to kwestia osobistych preferencji. Jednak dla ułatwienia sobie późniejszej edycji zalecamy pogrupowanie plików według ich typów. Zauważ, że została tu dołączona ścieżka dostępu css/. Joomla musi znać położenie pliku w obrębie folderu z szablonem. 9. Dodaj poniższe wiersze bezpośrednio pod znacznikiem zamykającym : toolbar inset search mainnav breadcrumbs left right userl user2 user3 user4 u s e r 5 < / p o s i t i o n > u s e r 6 < / p o s i t i o n > user7 u s e r 8 < / p o s i t i o n > < p o s i t i on>user9 f o o t e r < / p o s i t i on> debug

Są to wszystkie pozycje wykorzystywane obecnie w szablonie. Wszystkie one oparte są na osobistych preferencjach projektowych. Jedyny wymóg pojawia się wtedy, jeśli występuje jakaś pozycja wywoływana przez instrukcję jdoc: i ncl ude. W takim przypadku musi ona zostać wymieniona w pliku X M L jako pozycja. Zauważ, że nie zostały tu wymienione elementy header, top, bottom i wrapper występujące w pliku index.php. Nie są one pozycjami w tym szablonie; są to po prostu kontenery układu (rysunek 9.18).

264

I -ersion.- r . C ' encocMng-'ut?~8"?> : a l l \ e r s i o n . - " l . s" t y p e - template' > inflojszablon. name* i t i onDate;>2009< er Rat i OnDate>or;-3an Kowalski-: author-. tr ight -GPL copyright •lorE^ai ] j kowal skiSmo jawi t r y n a . pi-; author Etta i i --ar-Ji - -.-.-.v..-Oja.,itryra pi authórur I; ;ion;.l.(K.'ver5ion> :r i ptioru-f ó j pierwszy szablon dla system. lootrla * f 1 lena-ne-. index. php - f ilenarw^- f i lenaiKe^teraplateDetai I s . xirl --/f i params. i ni -. filenameoess, layout, css- f uess template,ossr - posit1on>toolbar-:: p> ion; • posit1on>1nset- pos - posit 1on>searcb-: po: • position>mainnav- p. ' p o s i t i on>br eadcrumb- p o s i t i o n s l e f t<, posi - positionvrIght- position; *position>userl- position; user;. p o s i t i o n ; -pos i - > j t --user i p o s i t i o n ; usera- p o s i t i o n ; - p o s i t 1 on>user 5- p o s i t i o n ; *position>user6- p o s i t i o n ; user7-. p o s i t i o n : user8-: p o s i t i o n ; -poslr-or:--userposition: •iposit 1 on»f oot er ,'pos tt ior •epositionsdebwg-: p o s i t i o n :

Hvsunek 9.18. Lista pozycji w pliku templateDetails.xml

de-,-

Tworzenie szablonów dla systemu Joomla

34 35 36 37 38 39 40 41

< p o s i t i on:> u s e r 7 < \ p o s i t i o n > « p o s i t i o n ;> u s e r 8 < p o s i t i o n > c p o s i t i o n ;» u s e r 9 < . p o s i t i o n > cposition; f o o t e r ;'position: < p o s t t i ons>

42 43 44 45 46

< images>

47 48 49

;< parants> • i nstal 1 >

Rysunek 9.19. Pozostała struktura dla pliku templateDetails.xml

10. Dodaj poniższy kod bezpośrednio po znaczniku zamykającym
: < / i nstal1>

Obecnie żaden z plików nie zawiera odwołań do plików graficznych ani parametrów. Możesz dodać je później podczas kończenia pracy nad szablonem. Zamykający znacznik stanowi domknięcie znacznika z początku pliku (rysunek 9.19). 11. Zapisz plik.

265

Rozdział I.

Dodawanie funkcji PHP Podstawowy plik index.php wraz z arkuszem stylów CSS i plikiem templateDetails.xml wystarczy do wygenerowania szablonu dla systemu Joomla, jednak bez funkcji PHP pojawią się wszystkie pozycje, z zawartością lub bez. Spowoduje to pojawienie się dużych obszarów pustej przestrzeni w witrynie. Nawet jeśli umieścisz w szablonie tyle użytecznych pozycji, ile to tylko będzie możliwe, nie oznacza to wcale, że użytkownik zamierza ze wszystkich korzystać. Prosta funkcja PHP i f omawiana w tym podrozdziale nakaże systemowi Joomla ukrycie lub wyświetlenie modułów w zależności od tego, czy istnieje moduł (lub moduły) przypisany do określonej pozycji. Przypisywanie modułów do pozycji odbywa się za pośrednictwem zaplecza administracyjnego systemu Joomla. Aby dodać proste funkcje PHP: 1. Otwórz plik index.php w dowolnym edytorze tekstu. 2. Odszukaj pierwszy element di v po kontenerze di v nagłówka. W naszym przykładzie jest to mai nnav. Nagłówek powinien być zawsze wyświetlany, dlatego do kontenera div nagłówka nie będziemy dodawać instrukcji PHP i f . 3. Bezpośrednio nad wierszem dla mai nnav wpisz .

To kończy funkcję PUP. Między tymi funkcjami możesz umieścić dowolne inne instrukcje i f lub el se i f. Twój kod powinien teraz wyglądać tak jak na rysunku 9.20. 5. Poniższe kontenery di v obejmują wszystkie pozycje, w których mają być wyświetlane moduły, dlatego każdy z nich wymaga odpowiedniej instrukcji PHP i f : •

insert



toolbar

A

search



mainnav



breadcrumbs



u s e r l , user2 i user3

• left_col (pozycja left) • right_col (pozycja right) •

user4, user5 i user6



user7, user8 i user9



footer

Pamiętaj, że główna zawartość przeznaczona jest na komponenty; nie ma tu żadnych pozycji modułów i nie ma potrzeby stosowania funkcji PHP (rysunek 9.21 i 9.22).

56

57 58 59 60 61

countModules('mainnav')) : ? >

62

Rysunek 9.20. Dodanie pierwszej funkcji

PIIP

267

Rozdział I.

36 37


id*"wrapper">

38

39 40 41 42 43

countModu1es( t o o l b a r ' ) ) : ?> < j d o c : i n c l u d e type="modules" name="toolbar"


44 45



47


48

if

C/r/77\s->couritModules('inset')) :

< j d o c : I n c l u d e

52


53


54

?>

id="inset">


t y p e = " m o d u l e s "

n a m e - " I n s e t "

s t y l e - " x h t m l "

>

?>

(ir/77s->countModules('search")) :

?>

id="search"> < j d o c : i n c l u d e

55 56

>

id="header">

46

49 so 51

style="rounded"


t y p e = " m o d u l e s "

n a m e = " s e a r c h "

s t y l e = " x h t m l "

, >

?>

57

58



59

60 61 62 63 64

countModules(*mainnav ) ) : ?> < d i v i d="rnai nnav"> < j d o c ¡ i n c l u d e type="roodules" name="mainnav"

style="xhtml"

.>

65

( J r M s - > c o u n w o d u l e s ( ' breadcrumbs " ) ) : ? >

66


67


68 69 70

< j d o c ¡ i n c l u d e type»"modu1es"

1 d«"breadcrumbs"

class»"clearf1x">

name»"br eadcr umbs" s t y l e - " xhtml " / >

71

72 73

< d i v id="top" c l a s s = " c l e a r f i x !> countModules( ' u s e r l ' ) ) : ?>

74


75 76 77



id«"userl">

type="modules"

name="userl"

style="rounded"

< ? p h p i f (JT/?7's->countModul e s ( " u s e r l ' " ) ) : ? >
< j d o c ¡ i n c l u d e t y p e = " r » o d u l e s " name="user2"


style»"rounded"

78

79 so si 82 83 84

(iT/775->countModules('userB')) :

85


86


87 as 89



Rysunek 9.21. Kolejne funkcje

268

?>

1d-"user3">

type="modules"

PHP dodane do pliku

index.php

name="user3"

style="rounded"

Tworzenie

szablonów

dla systemu

Joomla

92 93

< d i v

1d----"maincontentv,rap">

94 as

< ? p h p

96

i f

( i r / 7 7 5 - > c o u n t M o d u 1 e s ( '

< d 1 v

97

i d = " 1 e f t _ c o 1 " < j d o c

98

< / d i v>

99

< ? p h p

: i n c l u d e

endif;

1 e f t ' ) )

:

? >

c l a s s - " c l e a r f i x " > t y p e = " m o d u l es "

n a m e = " l e f t "

s t y l e = " x h t m t l

"

./>

?>

100 101

< d i v

102 103 104 105 106

i d = " i n n e r w r a p " >

i f

( i r / 7 7 5 - > c o u n t M o d u l

e s ( '

u s e r 4

" >

107

< ? p h p

los 109 no

id-"user4"> c j d o c : i n c l u d e type="modules" name="user4" s t y l e = " x h t m l " < / d i v> < ? p h p e n d i f ; ?>

' ) )

:

? >

c d i v

n i

/>

112 113

< ? p h p

114

c d i v

lis

i f

( l r / i ? 5 - > c o u n t M o d u l

e s ( ' u s e r 5 " ) )

:

? >

i d = " u s e r 5 " >

c j d o c : i n c l u d e type="raodules" naroe-"user5" s t y l e = " x h t m l "

u s

/>

< / d i v >

117

endif;

< ? p h p

?>

l i s

119

< ? p h p

120

< d i v

121

(ir/775->countModyles('user6')) : ? >

if

i d = " u s e r 6 " >

< j d o c : i n c l u d e type="modules" name="user6" s t y l e="xhtml"

122

/>

< / d i v >

123

endif;

< ? p h p

?>

124 125

< / d i v >

126 127

< ? p h p

128

< d i v

129

130 131 132 133 134

i f

( J r / 7 7 5 - > c o u n t M o d u l

i d = " r i g h t _ c o ' l " < j d o c : i n c l u d e

es ( ' r i g h t ' ) )

:

? >

c l a s s = " c l e a r f i x " >

t y p e = " m o d u 1 e s "

r t a m e = " r i g h t "

s t y l e = " x h t m l "

/ >

< ? p h p

endif;

?>

c d i v

i d = " b o t t o i r " >

135

136

< ? p h p

137

c d i v

138 139 140 141 142

i f (iT/77s->countModules("user7 ' ) ) : ?> id="user7"> c j d o c : i n c l u d e type="nsodules" n a r a e = " u s e r 7 " < / d i v> < ? p h p e n d i f ; ?>

style="rounded"

/>

143

cdiv

144 145

c j d o c : i n c l u d e type="moduł es" name="user8" style="rounded" c/div>

/>

< ? p h p

Rysunek 9.22. Pozostałe

if

(Jt/775->countModules('user8'))

;

? >

id="user8'V

funkcje

PUP dodane

do pliku

index.php

269

Rozdział I.

Tworzenie arkuszy stylów Możesz wykorzystać dowolny projekt oparty na CSS i sprawić, aby działał z systemem Joomla. Jeśli Twoja strona index.php zawiera poprawne polecenia jdoc, a plik templateDetails.xml zawiera listę wszystkich plików i folderów szablonu, Twój projekt będzie działać. Większość projektantów szablonów dla systemu Joomla woli przechowywać układ oddzielony od podstawowych stylów CSS systemu Joomla. W tym celu musisz utworzyć osobny plik layout.ess. Ułatwi to dostosowywanie układu szablonu. Aby utworzyć arkusz stylów layout.css: 1. Utwórz arkusz stylów CSS o nazwie layout.css i zapisz go w podfolderze css w folderze mojSzablon. 2. Wprowadź style CSS. Do Ciebie należy decyzja, czy chcesz mieć układ stały, czy płynny oraz czy chcesz mieć trzy, czy dwie kolumny. W przykładzie na rysunkach 9.23 i 9.24 podany jest układ z trzema kolumnami bez grafik. Dobrym pomysłem będzie utworzenie arkusza CSS uwzględniającego rozwój i zmiany witryny. Upewnij się, że strona index.php zawiera odwołanie do arkusza stylów layout.css. 3. Zaloguj się do zaplecza administracyjnego jako główny administrator. Dopóki cały folder mojSzablon znajduje się w folderze z szablonami systemu Joomla, Twój szablon powinien być widoczny z zaplecza administracyjnego.

270

1

• CSS Document "

2 5

*

4 5 6 7 8

margin: Opx; padding: Opx; } body { background-color:

3

10

{

.clearfix

n 12

13 14 is 16 17 is is 20 21 22 23 24 25 26 27 28 29 30 si 32 33 34 SS

36 37 38 39 M 41 42 43 44

#333333;

}

{

padding: 7px; }

^wrapper { m i n - w i d t h : 800px; max-width: 960px; m a r g i n - r i g h t : auto; m a r g i n - l e f t : auto; } #header { h e i g h t : ISOpx; b a c k g r o u n d - c o l o r : #CCCCCC; c l e a r : both; w i d t h : 100%; } »toolbar { h e i g h t : 30px; float: right; c l e a r : both; b a c k g r o u n d - c o l o r : #999999; } #inset { w i d t h : auto; h e i g h t : auto; b a c k g r o u n d - c o l o r : *8FSS90; }

#search { f 1 oat: r i ght; background-color: } *mainnav { background-color: h e i g h t : 40px; c l e a r : both;

#999999; #333333;

}

Rysunek 9.23. Plik zawierający

prosty układ CSS

Tworzenie szablonów dla systemu Joomla

45 46 4? 48

¿breadcrumbs { b a c k g r o u n d - c o l o r : #CCCCCC; c l e a r : both: }

43

»top

so si

Rozszerzenia/Szablony.

Otworzy się panel zarządzania szablonami. Zauważ, że na liście szablonów witryny pojawił się szablon mojSzablon (rysunek 9.25).

{

c l e a r : both; background-color:

52

4. Wybierz z menu

#999999;

}

53

I. Kliknij przycisk opcji obok nazwy mojSzablon, a następnie kliknij ikonę Domyślnie, aby szablon mojSzablon stal się domyślnym szablonem witryny.

#maincontentwrap {

54

. u k h :

55 56

Margin-right: auto; margin lef:.: auto;

100%;

57

}

ss 59 60 si

#left_col { float: left: i d t h : 20%; o v e r f l o w : hidden;

62

bac>

63 64 65 66 67 68

-:..',; i o r :

#cccccc:

} #main_content { ! oat: 1 e f t ; w i d t l : 55%; background-color:

O f

#999999;

}

69 70 71 72 73 74 75 76 77 7S 79 ao si 82 83

#right_col { f l o a t : left; w i d t h : 20%; o v e r f l o w : hidden; b a c k g r o u n d - c o l o r : #cccccc; } ¿bottom { c l e a r : both; b a c k g r o u n d - c o l o r : #cccccc; } #footer { c l e a r : both; b a c k g r o u n d - c o l o r : #999999; }

Rysunek 9.24. Plik zawierający prosty układ CSS ( t

GT7I Szablony Witryna

Zaplecie

#

Nazwa szablomf

Oemyśircse Domyślnie Przypisany

1 C !>eez 2 C JA_Punty r

it

mojSzabion

4 C rhijkjniikyway Pokaż . 2D

Zmień Pomoc

Wersja 1 ».«

19Fet>rwity20Q7

•-i

12SMI7

Ansie Radtta/Rotcn Cne JoomlArf csm

1.0

2SC9

Js!) Kewalsk;

' C .'

11/20/06

AmiySiet

Autor

jJ

Rysunek 9.25. Panel zarządzania szablonami

271

Rozdział I.

6. Kliknij odnośnik Podgląd. Nie wygląda to zbyt pięknie, ale wiesz już, w czym rzecz. Witryna się wyświetla i widoczne są wszystkie elementy, które mają przypisaną pozycję w szablonie (rysunek 9.26). Musisz jeszcze dostosować podstawowy arkusz stylów CSS systemu Joomla, a pozycje w Twoim nowym szablonie będą różnić się od tych z szablonu JA_Purity użytego pierwotnie do przypisania pozycji.

a j f l l Xl gik

Edycja

Widok

Historia. Z,aktadki

'U* c

| :j

Narzędzia

Ponws

! httD:/flocaihost/'mo}avjitryna/index.Dhp'opiion=com_conterit&viea,,!=frontpage

@ Moja witryna - zapierze

Moja witryna





>

|!Q-|

_

£|

Strona gfówna

Menu użytkownika Subskrybuj D

Kanał R S S

Sekcje

M M M M ł U l t i l ! Wpisany pr&e£ Administrator Sobota, 3 1 Styczeń 2 0 0 9 22:09

Informacje

Spis t r e ś c i

Wydarzenia

Witamy w witrynie naszej rodziny

Przepisy

. l i d A g

Wiisiiy w witryme rodziny

Cieśniny się, że chcesz

doiac?--c Dodaj do naszej ',vłtrvnv swoje -wydarzenia, przepisy i informacje rodzinne

Rodzinne głosowanie Miejsce zjazdu rodzinnego • Gdańsk '' Mrągowo ' Dom babci

Ztmemmy ( Niedziela, 0 1

Luty 2 0 0 9 13:40 )

Głosuj | Wyniki |

Dewiza rodziny | Nasza rodzina łubi dobrą

Rysunek 9.26. Efekt zastosowania w witrynie szablonu

272

mojSzablon

Li

Tworzenie szablonów dla systemu Joomla

Przyrostek klasy menu _mojaldasa Przyrostek klasy CSS modułu

Rysunek 9.27. Przykład przedstawiający dodanie własnych przyrostków klas CSS

Tabele podstawowych stylów CSS systemu Joomla \'j e możemy tu szczegółowo omawiać tworzenia każdego od danego projektu.

s t y l u ; j e s t t ( ) c a } k o w i c i e z a l e żne

Aby jednak przedstawić Ci narzędzia, jakie masz do dyspozycji, zamieścimy tu listę wszystkich podstawowych klas systemu Joomla oraz ich zastosowanie. Oprócz tego w witrynie dokumentacji systemu Joomla znajduje się lista podająca miejsce użycia poszczególnych klas: http://docs.joomla.org/List_ofJoomla!_generated_core_ CSS_classes Aby nadpisać klasy systemu Joomla: 1. Wybierz z menu Rozszerzenia

/Moduły.

2. Wybierz moduł, dla którego chcesz zmienić styl. 3. W sekcji Parametry w polu Przyrostek kłasy CSS modułu wpisz nazwę klasy, aby wybrać styl dla modułu. 4. Aby nadpisać pozycję menu, wpisz nazwę klasy w polu Przyrostek klasy menu (rysunek 9.27). Przedstawione poniżej tabele stanowią przegląd podstawowych klas CSS używanych domyślnie w systemie Joomla. Opisy są tu uogólnieniami, które mają na celu dać Ci pewne wyobrażenie na temat miejsca użycia domyślnych klas; w żadnym wypadku nie należy tego traktować jako wyłącznego zastosowania. Wskazówki • Aby sprawdzić, jakie style są używane, możesz uruchomić przeglądarkę internetową, przejść do swojej witryny i wybrać opcję podglądu źródła. Na stronie źródłowej zobaczysz, jakie klasy zostały użyte. • W systemie Joomla 1.5 możesz również nadpisać podstawowe style przy użyciu własnych szablonów komponentu lub modułu. Znajdują się one we właściwych dla siebie folderach o nazwie trnpl. Więcej informacji na temat nadpisywania podstawowych stylów systemu Joomla i tworzenia szablonów znajduje się w witrynie www. writingyourdreams. com.

Rozdział I. Tabela 9.2.

Tabela 9.1.

Artykuły = style treści

Globalne style CSS Nazwa klasy

a:hover a:active a:visited a:image a:image:hover hl h2 h3

Opis

Nazwa klasy

Globalne style przeznaczone do użycia, dopóki nie zostaną określone bardziej szczegółowe style.

Sekcje .sections .sectiontableentry

Opis

Style używane w układach sekcji.

.secti ontablefooter . s e c t i ontableheader Kategorie .category a.category

h4

Artykuły

h5

,article_separator

li

.author

P

.blog

td

.blogsection

th

.blog_more

ul

.blog_heading

Style używane w listach kategorii i odnośnikach.

Style używane w układach artykułów.

,content_rating .content_vote .contentdescription . c o n t e n t h e a d i ng .contentpagetitle .contentpane .contentpaneopen .contenttoc .createdate .created-date .date .hastip .highlight .intro . t i t l e

.modi f y d a t e .mosimage .mosimagecaption .readon .smal 1 .smal 1 dark .wrapper

274

Styl stosowany przy wybieraniu układu osłony.

Tworzenie szablonów dla systemu Joomla

Tabela 9.3.

Tabela 9.7.

Banery

Komponenty

Nazwa klasy

Opis

Nazwa klasy

.bannerfooter

Style używane podczas tworzenia komponentu i modułu bañera.

Menu główne

.bannergroup .bannerheader

Opis

.mai n l e v e l

Style używane przez menu główne.

a.mainlevel

.banneri tem

a . m a i n l e v e l : v i s i ted a.mai n l e v e l : h o v e r a.mainlevel¡active Menu podrzędne

T a b e l a 9.4.

a.sublevel Style ścieżki powrotu Nazwa klasy

Opis

a.sublevel¡active

.pathway

Style stosowane przy nawigacji za pomocą ścieżki powrotu.

a.sublevel¡hover

a.pathway:1 ink

Style używane w menu podrzędnych głównego menu.

a.sublevel¡visited

a.pathway:visited a.pathway:active T a b e l a 9.8.

a.pathway:hover

Moduły — ogólnie

Tabela 9.5.

Nazwa klasy

Opis

.latestnews

Style stosowane przez poszczególne moduły.

.mostread

Komponenty

.newsfeed

Nazwa klasy

Opis

.componentheading

Styl używany dla nagłówka komponentu głównego.

.pollstableborder

T a b e l a 9.9. Tabela 9.6.

Moduły — style tabel

Formularze i pola wprowadzania tekstu

Nazwa klasy

Nazwa klasy

table.modułetable

.button .buttonheading . c o n t a c t email

Opis Style stosowane dla wszystkich przycisków i pól formularzy, chyba że określono inaczej.

table.moduletable

Opis

th

Style stosowane dla modułów używających układu tabel.

. f i eldset . i nput . i nputbox .search .searchintro .selectbox .text

area

275

I.

Rozdział

Tabela 9.10.

Tabela 9.12.

Moduły — XHTML lub style z zaokrągleniami

Edycje w kartach

Nazwa klasy

Opis

Nazwa klasy

Opis

d i v.module

Użyj tych stylów do utworzenia modułów zaokrąglonych lub całkowicie pozbawionych tabel.

.adminform

Style używane do nadpisywania formatowania w tle.

d i v . m o d u l e h3 .module

li

.module u l .module a : 1 i n k

.code .edit-tabs .message .moscode

.module

a:visited

.pagetext

.module

a:hover

.ontab

.module

a:active

.offtab .tabheading

Zaokrąglone rogi

. t a b p a d d i ng

.module .module

div

.module d i v

div

.module d i v d i v

div

.module d i v d i v d i v

div

Tabela 9.11. Nawigacja po stronach Nazwa klasy

Opis

a.pagenav

Style używane przy nawigacji po stronach: poprzednia, następna, liczenie stron itp.

a.pagenav:hover .back —b u t t o n .pagenav .pagebar .pagenav prev .pagenav

next

.pagenavcounter

276

Serwery lokalne i zdalne Przy tworzeniu witryny w systemie Joomla najlepiej będzie, jeśli użyjesz w tym celu najpierw serwera lokalnego, działającego na Twoim komputerze. Jeśli nie masz jeszcze na swoim komputerze serwera lokalnego, najłatwiejszym sposobem zainstalowania serwera WWW będzie użycie gotowego pakietu w rodzaju MAMP dla systemu Macintosh lub XAMPP dla systemu Windows. Praca na serwerze lokalnym daje następujące korzyści: • szybsze tworzenie i testowanie witryny, • zmniejszenie ryzyku unieruchomienia udostępnionej publicznie witryny, • możliwość testowania niezależnych rozszerzeń przed ich wdrożeniem w udostępnionej witrynie. W tym dodatku opiszemy dwa środowiska serwerów lokalnych i zaprezentujemy prostą metodę przesłania całej witryny na serwer zdalny.

277

Dodatek A

Instalacja serwera lokalnego w systemie Windows Aby zainstalować pakiet X A M P P

XAMPP

These Mac OS X and Solaris versions of XAMPP are still in the first steps of development. Use at you own nsh

Otworzy się witryna Apache Friends. 2. Przewiń stronę w dół, aż zobaczysz ikonę XAMPP tuż pod nagłówkiem Our most important project (nasz najważniejszy projekt), a następnie kliknij ikonę XAMPP (rysunek A.l). 3. Przewiń stronę w dół, a następnie kliknij odnośnik XAMPP for Windows (rysunek A.2). Download

5. Kliknij odnośnik Installer (instalator) w sekcji Basic Package (pakiet podstawowy).

278

E

• a version for Linux systems (tested lor (Jbuntu, SuSE, RedHat. Mandrake and Debtan), • a version for windows P8, NT, 2000, 2003, XP and vista, • a beta version for Solaris SPARC (developed and tested under Solaris 8), • and a beta version for Mac OS X,

1. Wpisz w przeglądarce adres www. apachefriends. org.

6. Pobierz plik instalatora i kliknij go dwukrotnie.

Many people know from their own experience that it's not easy to install an Apache web seryer and ic gets harder if you want to add MySQL, PHP and Perl. XAMPP is an easy to install Apache distribution containing MySQL, PHP and Peri. XAMPP is realty yery easy to install and to use - just download, extract and start. At the moment there are four XAMPP versions

w systemie Windows:

4. Kliknij odnośnik XAMPP w sekcji (pobieranie).

Our mast important project t i i XAHCP ,

Want more? Look at our

?

iirasects page to find out more about our other projects.

Rysunek A.l. Witryna XAMPP XAMPP for Windows 1.7.0, 2008/13/22 XAMPP Windows 1.7.0 [Basic package]

Apach« HTTPD 2,2,11, MySQL 5.1.3 0.9.Si, phpMyAdmin 3.2.1, XAMOP C 2.01-10, M«rcury Mai! Transport Sys 0.9.29, SQUU 2.8.13, ADOD6 4.98,

39 MB Installer 82 MB ZIP archive 33 MB Selfextracting 7-ZIP archive

Rysunek A.2. Strona pobierania

XAMPP

Serwery lokalne i zdalne

7. Wybierz język, a następnie kliknij przycisk OK (rysunek A.3). Uruchomi się kreator instalacji. 8. Kliknij przycisk Next (Dalej).

Rysunek A.3. Kreator

9. Wybierz katalog, w którym zostanie zainstalowany serwer XAMPP, a następnie kliknij przycisk Next (rysunek A.4).

instalacji

ra

Choose install Location Choose the folder m which to install XAMPP 1.7,0.

Setup will install XAMPP !.7.0«the following folder. To install tn 5 different folder, did; Browse and select another folder. Ode Next to continue.

Destination Folder

Space required: 236.9MB Space available: 13.3GB

10. Kliknij przycisk Install (instaluj), a następnie Finish (kolej). Możesz wybrać, aby Apache, MySQL i FileZilla zostały zainstalowane jako usługi. Spowoduje to automatyczne uruchamianie Apache, MySQL i FileZilla przy starcie systemu. Jeśli nie chcesz, aby te usługi były uruchamiane automatycznie, nie zaznaczaj tych opcji (rysunek A.5). Aby uruchomić serwer lokalny:

Rysunek A.4. Wybór katalogu XAMPP

instalacyjnego

I. Uruchom panel kontrolny XAMPP, a następnie uruchom serwer Apache i MySQL. I. W pasku adresu przeglądarki wpisz http://localhost.

XAMPP Options Install options on NT/20Q0/XP Professie

XAMPP DESKTOP W Create a XAMPP desktop icon XAMPP START MENU W Create an Apadie Friends XAMPP' folder in the start menu SER VICE SECTION r

I n s « Apache as service

r

Instil MySQL as Service

I"" Install Ffezla as ser vice See mo die XAMPP for Windows FAQ Page

W ten sposób uzyskasz dostęp do wszystkich plików znajdujących się w katalogu głównym Twojego serwera WWW. Wszystkie witryny tworzone i testowane na serwerze lokalnym przechowywane są w katalogu htdoes. Jest to katalog główny serwera WWW. Wpisanie adresu local host przeniesie Cię do katalogu głównego serwera. Wpisując 1 ocal host/nazwamojejwi tryny, otworzysz

swoją witrynę WWW. Rysunek A.5. Okno wyboru opcji

instalacyjnych

279

Dodatek A

^

Instalacja serwera lokalnego w systemie Macintosh

• U *

System operacyjny firmy Apple w wersji 10.4 lub wyższej zawiera wbudowany serwer Apache i PHP. Zostaje tylko zainstalowanie bazy danych MySQL. Ponieważ są różne sposoby instalacji i włączania, osobom niemającym doświadczenia z serwerami WWW, bazami danych i ich ręcznym konfigurowaniem polecamy zainstalowanie pakietu MAMP. Aby zainstalować pakiet M A M P :

i MAMP PRO

O.

e-

Rysunek A.6. Strona pobierania pakietu MAMP

1. W pasku adresu przeglądarki wpisz www.niamp. info/en/mamp.html.

2. Kliknij przycisk Download (rysunek A. 6).

now (pobierz teraz)

3. Kliknij plik odpowiadający używanej przez Ciebie platformie systemu Macintosh (rysunek A.7). 4. Kliknij dwukrotnie pakiet .dmg, a następnie przeciągnij folder MAMP do swojego folderu aplikacji. 5. Wybierz Applications (aplikacj e)/MAMP i uruchom pakiet MAMP.

MAMP

MAMP

Spowoduje to otwarcie strony startowej MAMP w przeglądarce i wyświetlenie okna dialogowego Start Servers (uruchom serwery) (rysunek A.8). 6. Upewnij się, że serwery Apache i MySQL są uruchomione. 7. W pasku adresu przeglądarki wpisz 1 ocal host. W ten sposób uzyskasz dostęp do wszystkich plików znajdujących się w katalogu głównym Twojego serwera WWW. Wszystkie witryny tworzone i testowane na serwerze lokalnym przechowywane są w katalogu htdocs. Jest to katalog główny serwera WWW. Wpisanie adresu local host przeniesie Cię do katalogu głównego serwera. Wpisując 1 ocal host/nazwamojejwitryny, otworzysz

swoją witrynę WWW. 280

manage your

Status (

Stop Servers

f

O p e n start page

)

A p a c h e Server # #

X

;

MySQL Server f ("

Preferences... ~

"Quit

")

Rysunek A.8. Okno dialogowe MAMP pokazujące uruchomione serwery

Serwery lokalne I zdalne

Wysyłanie witryny testowej na serwer zdalny Jednym z głównych tematów pytań, z którymi spotykamy się na forach internetowych, jest kwestia przesyłania witryny Joomla na serwer zdalny. Istnieje wiele różnych form hostingowych, a co za tym idzie — różne są sposoby umieszczania witryny na zdalnym serwerze. Możemy jednak podać prosty sposób, który powinien zadziałać dla różnych firm hostingowych. Przetestowaliśmy ten proces na wirtualnym dedykowanym serwerze i na standardowym koncie usługi hostingowej. Przed rozpoczęciem musisz: • znać lokalizację i nazwę katalogu głównego swojego serwera WWW, • mieć zainstalowane i włączone PHP i MySQL na serwerze zdalnym, • utworzyć na serwerze zdalnym bazę danych MySQL dla swojej witryny Joomla, • znać nazwę bazy danych oraz nazwę i hasło użytkownika na serwerze zdalnym, • mieć uprawnienia do korzystania z usługi FTP na serwerze zdalnym.

Aby zainstalować system Joomla na serwerze zdalnym: 1. Prześlij przez FTP cały pakiet systemu Joomla do katalogu głównego na serwerze zdalnym. Jest to czysty pakiet instalacyjny, który można uruchomić za pomocą przeglądarki. 2. Na swoim serwerze lokalnym otwórz phpMyAdmin, a następnie wyeksportuj bazę danych swojej lokalnej witryny Joomla do pliku ,sql. 3. W pasku przeglądarki wpisz nazwę swojej domeny, aby otworzyć swoją witrynę. Jeśli przesłałeś pliki systemu Joomla, rozpocznie się instalacja. 4. Postępuj zgodnie ze wskazówkami instalacyjnymi, dodając informacje dotyczące serwera zdalnego. J. Po zakończeniu usuń plik install.php oraz folder instalacyjny ze zdalnego serwera. 6. Używając phpMyAdmin, zaloguj się do swojej bazy MySQL i zaimportuj bazę danych MySQL, którą wyeksportowałeś ze swojej witryny lokalnej. Twoja witryna jest już zainstalowana i może działać na serwerze zdalnym. Występujące problemy najczęściej spowodowane są niemożnością komunikacji systemu Joomla z bazą danych. Aby to naprawić, możesz zmodyfikować plik configuration.php. Nazwa hosta bazy danych, nazwa i hasło użytkownika muszą odpowiadać Twojej bazie danych na serwerze zdalnym.

281

Dodatek A

Plik configuration.php W pliku configuration.php przechowywane są ustawienia konfiguracji globalnej oraz hasła i nazwy użytkowników używane do komunikacji z bazą danych. Zawartość tego pliku wygląda następująco:


S" fi.

class JConfig { v a r $ o f f 1 i ne = ' O ' ; var $ e d i t o r = ' t i n y m c e 1 ; var $1 i s t _ l i mi t = ' 2 0 ' ; var S h e l p u r l = ' h t t p : / / h e l p . j o o m l a . o r g 1 ; var $debug = 1 0 1 ; v a r $debug_lang = ' O ' ; v a r $sef = ' 0 ' ; var $ s e f _ r e w r i t e = ' O ' ; var $ s e f _ s u f f i x = '0' ; v a r $ f e e d _ l i m i t = 1 10 1 ; v a r S s e c r e t = '3Ha629M0uJwPaa2m'; var $gzi p = 1 0 1 ; var $ e r ' r o r _ r e p o r t i ng = ' - l ' ; var $ x m l r p c _ s e r v e r = ' l ' ;

¿

var $1og_path =

.2 IB S JM.

S

'C:\\wamp\\www\\mojawi t r y n a W l o g s ' ; v a r $tmp_path = 'C:\\wamp\\www\\mojawitryna\\tmp'; var $ l i v e _ s i t e - ' ' ; var S o f f s e t = ' 1 ' ; var Scaching = ' 0 ' ; v a r $cachetime = 1 15' ; v a r $cache_handler = ' f i l e 1 ; v a r $memcache_settings = a r r a y ( ) ; var $ftp_enable = '0' ; var $ f t p _ h o s t = ' 1 2 7 . 0 . 0 . 1 ' ; var $ f t p _ p o r t = ' 2 1 ' ; v a r $ f t p _ u s e r = 11 ;

282

var var var var var var var var var

$ftp_pass = ' 1 ; $ f t p _ r o o t = 11 ; $dbtype = ' m y s q l ' ; $host = '1 ocal h o s t 1 ; $user = ' r o o t 1 ; $db = ' m o j a w i t r y n a 1 ; $dbprefix = 1 j o s _ ' ; $mai1 e r = 'mai l ' ; $mailfrom =

'[email protected]'; var $fromname = 'Moja w i t r y n a ' ; var $sendmail = 1 / u s r / s b i n / s e n d m a i 1 1 ; v a r $smtpauth = ' 0 ' ; var $smtpuser = ' ' ; v a r Ssmtppass = 1 1 ; v a r Ssmtphost = ' l o c a l h o s t ' ; v a r $MetaAuthor = ' l ' ; var SMetaTitie = ' l ' ; var S l i f e t i m e = ' 1 8 0 ' ; var $session_handler = 'database'; v a r Spassword = 11 ; v a r $sitename = 'Moja w i t r y n a ' ; var $MetaDesc = ' J o o m l a ! - dynamiczny system p o r t a l o w y i system z a r z ą d z a n i a t r e ś c i ą 1 ; var ÎMetaKeys = ' j o o m l a , p c j I x 5 y 2 z ' ; var $ o f f l i n e _ m e s s a g e = ' W i t r y n a j e s t w t r a k c i e prac k o n s e r w a c y j n y c h . Z a j r z y j późni e j . 1 ;

Zasoby Podobnie jak w przypadku wszystkich innych aplikacji open source, Joomla zgromadziła wokół siebie mnóstwo zwolenników — projektantów witryn, twórców rozszerzeń, projektantów szablonów, blogerów i autorów poradników. Ten dodatek zawiera krótki przegląd najważniejszych ulepszeń wprowadzonych w systemie Joomla 1.5.x w porównaniu z wersją 1.0.x, przykłady witryn korzystających obecnie z systemu Joomla oraz kilka odnośników, gdzie można znaleźć więcej informacji, szablonów i rozszerzeń.

v i O

283

Dodatek A

Nowości w systemie Joomla l.5.x Oto lista najważniejszych udoskonaleń wprowadzonych do systemu Joomla 1.5.x w stosunku do wersji 1.0.x (pełna lista zmian znajduje się w witrynie www.joornla.org): • całkowicie przebudowany interfejs administracyjny; • ulepszony podgląd szablonów; • lepsza logika programu oddzielona od logiki projektu, możliwość łatwiejszego dostosowania każdego szczegółu szablonu Joomla; • nowy panel zarządzania modułami; • możliwość zainstalowania i odinstalowania wszystkiego z tego samego miejsca; • edycja wielu plików CSS; • pełna obsługa źródeł w formacie Atom 1.0 i RSS 2.0; • ulepszone ułatwienia dostępu i opcje prostych adresów URL; • ulepszone generowanie adresów URL; • lepsze umiędzynarodowienie systemu, w tym pełna obsługa UTF-8, obsługa zapisu tekstu od prawej do lewej oraz tłumaczenia przy użyciu plików INI; • wbudowana obsługa LDAP; • obsługa XML-RPC; • usprawniony interfejs wywoływania komponentów umożliwiający łatwą implementację aplikacji Ajax; • całkowicie przebudowany szkielet programistyczny systemu Joomla.

284

Zasoby

Adresy witryn z zasobami dla systemu Joomla Zamieszczenie w tej książce wszystkich dostępnych zasobów dla systemu Joomla jest niemożliwe. Oto bardzo krótka lista witryn, które wywarły na nas wrażenie i pomogły nam w odkrywaniu systemu Joomla. Aplikacje i informacje www.joomla.org www.phpbb.com www. compassdesigns.

net

Szablony dla systemu Joomla www. rocketTheme.

com

www.joomla-templates.com www. yootheme.

com

www.joomlArt.

com

www.joomlashack.

com

Rozszerzenia dla systemu Joomla http://extensions.joomla.org www.m65.net www.joomlapolis.com www. ijoomla. com www.ninjoomla.com www. rocketwerx.

com

285

Dodatek A

Witryny używające systemu Joomla Wszystkie poniższe witryny używają systemu zarządzania treścią Joomla. Te przykłady pokazują, jak różnorodny i elastyczny jest system Joomla.

Witryna z galeriami artysty Johna Avona, www.johnaton. com ..: 0 - C

1

, • .

1



——»•--

mmmmi • ą -a*

-mt pr "

H

. . 1

T O R COM"" ¿Ł

STORIES

«....o.,,.

1 •

_______ ""^."T.r-f.CI"-?.-

Graham Rawle's The Wizard of Oz, most awesome book trailer

i

s



r..^.,,,.».,,.,.«.

.

i

i

l

.

B

r

®



b

n

Wydawnictwo Tor, wydające książki fantasy i sciencefiction, www.tor.com

i»** «



IUI I'M

'

'

.

*

i

i : r ;=:'••'

J

_

properaui

a

L WiIło*, .....'i



1

1

HEŁ1 11

i

s

ESSI

j)

Holisefinder, wyszukiwarka nieruchomości na sj "zedaż, Finna konsultingowa Rowan, www.rowanwww.housefinderuk.com group, com 286

Zasoby

Magazyn internetowy LA Weekly, www.laweekly.com

Wyższa Szkoła Nauk Ścisłych i Humanistycznych, Uniwersytet Haroarda, www.gsas.harvard.edu

My Way to Success, prywatny blog poświęcony systemowi Joomla i sieci WWW, w w w. mywa ytosucess.com

M •¡Sil

Regionalny Ośrodek Informacji ONZ na Europę Zachodnią, www.unric.org

287

Dodatek A

288

Skorowidz

tytuł, 73

# , 26

układ wysyłania, 127

A administrator, 22, 25, 134 adres internetowy, 130

usuwanie, 8 6 utworzone, 2 7 wysyłanie pocztą elektroniczną, 2 2 7 atrybuty, 73

adresy URL, 2 0 7

automatyczne opróżnianie skrzynki, 2 2 3

alias, 74, 105

autor, 211, 2 2 8

analiza systemu, 2 1 4 archiwizowanie artykułu, 88

B

archiwum, 106, 108. 135 tworzenie, 135 arkusze stylów, 2 7 0 artykuły, 26, 27, 36, 47, 71 archiwizowanie, 88 dodawanie, 79, 2 2 7 drukowanie, 2 2 7 edycja, 2 2 7 , 2 3 8

banery, 164, 167 kategoria, 164 klienci, 164 komponent, 164 moduł, 164 baza danych, 18, 2 1 8 przedrostek, 18

filtrowanie, 84

Beez, 4 0

formatowanie, 78

biała lista, 73

język, 77

białe znaki, 102

kategorie, 37

biuletyn informacyjny, 2 2 4

konta użytkowników, 2 2 7

blog, 4 8

kopiowanie, 8 4

breaderumbs, 138

metadane, 77

buforowanie, 2 1 5

najnowsze, 2 7

c

najpopularniejsze, 2 7 odsłony, 27 panel zarządzania, 3 6

C M S , 47, 9 0

parametry, 75, 76

Community Builder, 188

parametry globalne, 72, 73

dodatki, 191

pisanie, 71

instalowanie, 188

popularne, 27

moduły, 191

przenoszenie, 8 4

pozycje menu, 191

przenoszenie do kosza, 8 5 przywracanie, 87

składniki, 191 content items, 3 7

publikowanie, 2 2 7

CSS, 126, 2 7 3

sekcje, 37

czarna lista, 73

spis, 83

czas przechowywania, 2 1 5

tworzenie, 74

czas trwania sesji, 2 1 5

twórca, 27

czyszczenie pamięci podręcznej, 2 2 6

289

Skorowidz

frazy kluczowe, 2 0 5

diagnostyka, 214 włączanie, 2 1 4

front end, 21 F T P , 19 zmiana ustawień, 2 1 7

długość listy, 2 0 3 dodatki, 196 dodawanie kontaktu, 171 dodawanie treści, 4 7

Google, 2 0 5

domyślna pozycja menu, 119

gościmy, 157

domyślna liczba wiadomości RSS, 2 0 4

tworzenie, 157

domyślny edytor, 2 0 2

gość, 2 2 8

dostęp, 5 0

grafika, 48, 50, 68, 8 0

powszechny, 5 0

dodawanie, 80

specjalny, 5 0

kontaktów, 174

zastrzeżony, 5 0

opis, 5 0

dozwolone rozszerzenia, 2 1 3

położenie, 50, 174

drukuj, 2 4 0

wstawianie, 81

dzienniki, 2 0 8 analityczne, 2 1 4 diagnostyczne, 2 1 4 statystyczne, 2 1 4

grafika losowa, 153 tworzenie, 153 grupa, 26, 3 0 filtr, 73

dźwięk, 68

H hasło, 18 edycja modułu, 9 9

root, 18

edycja danych użytkownika, 2 3 9

Home, 57

edytor, 2 0 2

horz, 2 5 6

domyślny, 2 0 2 elementy interaktywne, 134

hosting, 19 H T M L , 140, 2 2 4

email, 224, 2 4 0 I ID, 30, 3 5 favicon.ico, 2 4 3

ignorowane rozszerzenia, 2 1 3

filmy, 6 8

ikony, 25, 73, 2 4 0

filtr, 73

indeksowaniu witryny, 2 0 5

atrybutów, 73 grup, 73

index.php, 242, 2 5 5 , 2 6 1 tworzenie, 2 4 5

typów, 73

informacje, 5 9

znaczników, 73

informacje systemowe, 4 6

filtrowanie artykułów, 8 4 kategorii, 6 6

inna nazwa autora, 2 3 4 instalacja, 13 instrukcje, 13

sekcji, 5 5 folder, 6 9 tworzenie, 6 9 fora dyskusyjne, 192

JA_Puritv, 4 0

formularze logowania, 22, 126

JavaScript, 2 4 3

forum, 38, 192

jdociinclude, 2 5 5

phpBB, 193

290

Skorowidz

języki, 23, 199, 2 1 9

komponenty, 38, 4 2

polski, 2 4

Community Builder, 188

Joomla, 13

kontakty, 3 8

diagnostyka, 2 1 4

reklama, 38, 164

instalacja, 13

RSS, 3 8

kreator instalacji, 16

sondy, 3 8

moduły, 138

spinacz RSS, 3 8

nawigacja, 21

wyszukiwanie, 182

pliki, 15

kompresja stron, 2 1 6

pobieranie pakietu, 14

konfiguracja globalna, 32, 4 9

szablony, 40, 241

dostęp, 2 0 0

uruchamianie systemu, 22

serwer, 199

uruchomienie instalacji, 16 Joomlapolis, 188

system, 1 9 9 witryna, 199 kontakty, 38, 170, 1 7 4

K kanały RSS, 143, 176 pozycja menu, 178 tworzenie, 143 katalog, 6 9

dodawanie, 170 konto administratora, 2 2 korespondencja, 45, 2 2 0 masowa, 2 2 4 kreator instalacji, 16

tworzenie, 69

L

katalog kontaktów, 170 tworzenie, 170

%A S 5

layout.css, 2 7 0

katalog produktów, 38

Linux, 19

kategorie, 47, 61

lista, 2 0 3

i

edycja, 6 5

lista informacji statystycznych, 2 6

EL

filtrowanie, 66

lista kategorii artykułów, 117

N

kanałów RSS, 176

Logged in Users, 26, 2 8

kopiowanie, 65

logowanie, 22, 134, 2 3 2

tworzenie, 61

lokalizacja, 3 3

usuwanie, 67 zarządzanie, 61

Ł

zmiana ustawień, 6 4 kategorie artykułów, 3 7 kategorie kontaktu, 170 dodawanie, 170

łącze, 105 wewnętrzne, 105 zewnętrzne, 105, 195

Khepri, 4 0 klasa, 102

M

CSS, 102, 126 menu, 102

Macintosh, 2 7 7 , 2 8 0

klient, 2 6

main menu, 3 5

klient banera, 166

media, 31, 50, 68, 69, 199, 2 1 2

dodawanie, 166 klucz tekstowy, 77 kod, 21

rozszerzenia, 2 1 2 usuwanie plików, 70 menu, 29, 34, 91

kod H T M L , 140

artykuły, 3 6

kolporter RSS, 143, 160

dodawanie menu, 9 1

tworzenie, 160

dodawanie pozycji, 103 drugiego poziomu, 131

291

Skorowidz

menu

m o d u ł y menu, 9 4

komponenty, 3 8

parametry, 101, 102

kontakt, 1 7 3

włączanie, 9 4

kopiowanie pozycji, 1 2 0

zmiana kolejności wyświetlania, 9 5

menu, 34

zmiana szczegółów, 9 8

modyfikowanie pozycji, 1 1 9

M y S Q L , 18, 2 4 2

narzędzia, 4 5 , 2 2 0 panel projektowania, 3 4

N

podłączanie sekcji, 5 7 p o d r z ę d n e , 131

dodawanie, 1 5 0

pozycje, 110, 1 1 2

tworzenie, 1 5 0

projektant m e n u , 3 4

name="location", 2 5 6

p r z e n o s z e n i e pozycji, 1 2 1

narzędzia, 4 5 , 2 2 0

przypisanie, 9 9

administracyjne, 1 9 9

rozszerzenia, 3 9

korespondencja, 4 5

rozwijane, 1 3 1

pamięć podręczna, 4 5

tworzenie, 9 2 , 1 2 4

wiadomość, 4 5

typy pozycji, 1 0 5

nawigacja, 2 1

usuwanie pozycji, 1 2 1

nazwa, 3 0

w koszu, 3 4

9M

witryna, 2 9 zmiana pozycji, 9 6 m e t a d a n e , 77, 2 0 5

1 5

miejsce przechowywania, 2 1 5

i

2

V

M

najczęściej czytane, 1 5 0

pomoc, 4 6

użytkownika, 18, 2 6 własna, 3 0 nowości, 1 4 6 parametry, 1 4 7 n u m e r y identyfikacyjne, 2 0 7

migawki, 134, 1 5 1 parametry, 151 tworzenie, 1 5 1 moduły, 4 1 , 4 2 archiwum, 135 edycja, 9 9

odblokowywanie treści, 2 2 5 odnośniki, 9 2 , 2 3 9 tworzenie kategorii, 1 8 5

gościmy, 1 5 7

odnośniki W W W , 1 8 4

grafika losowa, 1 5 3

ogranicznik, 1 7 4

kanał RSS, 1 4 3

operator, 2 1 , 2 2

kolporter RSS, 1 6 0

optymalizacja, 2 0 5

menu, 92 m e n u użytkownika, 1 2 8 migawki, 1 5 1 n a d c h o d z ą c e wydarzenia, 1 4 7 najczęściej czytane, 1 5 0 nowości, 1 4 6 sekcje, 1 5 9 stopka, 1 4 5 szukaj, 1 5 5 ścieżka powrotu, 1 3 8 t e m a t y pokrewne, 1 5 8 tworzenie, 1 3 4 własny kod H T M L , 1 4 0

paginacja, 1 1 5 pakiet instalacyjny, 13 pakiet języka polskiego, 2 3 p a m i ę ć podręczna, 4 5 , 102, 126, 2 2 0 czyszczenie, 2 2 6 panel, 2 1 , 2 5 administracyjny, 2 1 edycji modułu, 9 9 instalacji rozszerzeń, 2 3 konfiguracji globalnej, 4 9 kontrolny, 2 5 , 2 6 , 2 9 projektowania, 3 4

292

Skorowidz

projektowania menu, 3 5

pomoc, 4 6

projektowania pozycji menu, 104

poziom dostępu, 50, 5 3

projektowania menu, 9 2

powszechny, 5 3

statusu użytkowników, 2 6

specjalny, 5 3

użytkownika, 21, 2 8 wstawiania grafiki, 81 z listą najpopularniejszych artykułów, 27

zastrzeżony, 5 3 pozycja menu, 3 5

zarządzania artykułami, 71

nad kolumnami, 113

zarządzania dodatkami, 4 2

w kolumnach, 113

zarządzania komponentami reklama, 167

pozycje treści, 3 7

zarządzania modułami, 41

prawa do katalogów, 4 6

zarządzania plikami mediów, 68

profil autora, 129

zarządzania sekcjami, 5 2

projekt graficzny, 4 8

zarządzania szablonami, 4 3

projektant menu, 34, 9 2

zarządzania użytkownikami, 3 0

przegląd, 112

parametry, 113 formularza logowania, 126 ilość kolumn, 113 ilość odnośników, 113

artykuły w kategorii, 112 artykuły w sekcji, 112 strona startowa, 112 przegląd artykułów, 108

modułu menu, 101

domyślnie, 108

podstawowe, 116

kolejność, 108

pozycji nad kolumnami, 113 pozycji w kolumnach, 113

w kategorii, 113 przegląd ustawień, 17

przeglądu artykułów, 108

przycisk graficzny, 156

rozszerzone, 115

przypisanie menu, 9 9

parametry artykułu, 76, 77 rozszerzone, 77 parametry globalne artykułu, 72 pasek narzędzi, 28

przyrostek, 102 klasy CSS, 109 klasy CSS modułu, 102 klasy menu, 102

poczta, 2 8

przywracanie artykułu, 87

podgląd, 2 8

publikacja, 50, 9 0

wyloguj, 2 8 pathways, 138 P D F , 73, 2 4 0 PHP, 46, 2 6 6

raportowanie błędów, 2 1 6

phpBB, 192, 193

redaktor, 211, 2 2 8

plan, 48

rejestracja użytkowników, 199, 2 1 0

pliki, 15

reklama, 38, 134, 164, 1 6 9

przesyłanie, 6 9 rozpakowywanie, 15 rozszerzenia, 2 1 2 pliki instalacyjne, 14

banery, 164 dodawanie, 164 rhuk_milkyway, 4 0 RocketWerx, 192

pobieranie pakietu, 14

RokBridge, 193

poczta, 2 1 8

rounded, 2 5 6

administratora, 2 8 elektroniczna, 172 systemowa, 2 8 podgląd, 28

rozszerzenia, 39, 187 instalacja, 3 9 rozszerzenia plików mediów, 2 1 2 RSS, 38, 73, 115, 143, 160, 176, 2 0 4

podłączanie sekcji, 5 7

293

Skorowidz

s

klient, 4 0 komercyjne, 4 4

search engine optimization, 2 0 5

rhuk_milkyway, 4 0

sekcje, 47, 49, 159

wymagania, 2 4 2

artykułów, 5"2 filtrowanie, 5 5 komponentów, 3 4 kopiowanie, 5 4

zgodność, 4 0 szukaj, 155 tworzenie, 155

podłączanie, 5 7

ś

tworzenie, 47, 49, 159 ustawienia, 5 3 usuwanie, 5 6

ścieżka powrotu, 138 tworzenie, 138

zarządzanie, 49, 5 2 zmiany, 5 4

T

SEO, 205 separator, 105

table, 2 5 6

serwer pomocy, 2 0 9

tekst, 49, 73

serwery, 216, 2 7 7 lokalne, 13, 2 7 7 modyfikacja ustawień, 2 1 6 zdalne, 2 8 1 sesja administratora, 2 1 5 zmiana ustawień, 2 1 5 Site, 2 4 ' słowa kluczowe, 2 0 5 sondy, 38, 180

wprowadzający, 73 zastępczy, 49, 74 tematy pokrewne, 158 tworzenie, 158 template_thumbnail.png, 2 4 3 templateDetails.xml, 242, 2 6 1 treść, 47 artykuły, 47 dodawanie, 4 7

tworzenie, 180

kategorie, 47

tworzenie komponentu, 180

modyfikowanie, 2 3 2

spam, 2 6

odblokowywanie, 2 2 5

spinacz RSS, 38, 1 4 3

przypisywanie do strony głównej, 8 9

spis artykułów, 8 3

sekcje, 4 7

SSL, 1 0 9

tworzenie sekcji, 47

stare informacje, 5 6

type="module", 2 5 6

statusie użytkownika, 2 6

typy, 7 3

statystyki, 2 6 stopka, 145

filtr, 73 typy pozycji menu, 105

strefa czasowa, 33, 2 1 7

alias, 105

strona główna, 5 7

łącze wewnętrzne, 105

strona startowa, 37, 89, 9 0

łącze zewnętrzne, 105

strony logowania, 2 2 style, 2 7 3 style="optional", 2 5 6

separator, 105 tytuł, 59, 73 artykułu, 73

systemy zarządzania treścią, 21, 4 7 szablony, 40, 43, 138, 241

U

autor, 4 0 Beez, 4 0

układ pojedynczego artykułu, 110

darniowe, 4 4

układ wysyłania artykułu, 127

data, 4 0

układy przeglądu, 112

domyślny, 4 3

układzie listy artykułów, 115

JA_Purity, 4 0

umowa licencyjna, 17

Khepri, 4 0

Unix, 19

294

Skorowidz

upload package file, 2 3

interaktywna, 133

URL, 2 0 7

optymalizacja, 2 0 5

uruchamianie

projektowanie, 4 8

główny administrator, 2 2 uruchomienie, 16, 2 2

przeglądanie informacji, 2 6 testowa, 2 8 1

instalacji, 16

ustawienia, 2 0 0

systemu, 2 2

włączanie, 2 0 1

usługi sieciowe, 2 0 9

wyłączanie, 201

ustawienia

zarządzanie, 2 6

F T P , 19

zawartość, 2 0 5

główne, 19

zmiana nazwy, 2 0 2

ustawienia globalne, 199

własny kod H T M L , 141

ustawienia systemowe, 2 0 8

wydawca, 2 1 1

usuwanie sekcji, 5 6

WYSIWYG, 243

użytkownik, 26, 30, 124, 199, 210, 2 2 7

wyszukiwanie, 182 wyszukiwarki, 2 0 5

W w koszu, 3 6 W e b 2.0, 47

X H T M L , 242, 2 5 6

wersje językowe, 2 3

XML, 242

wiadomość, 45, 220, 221 czytanie, 2 2 2 M

pisanie, 221 prywatna, 221

5

Yahoo, 2 0 5

i

usuwanie, 2 2 2 zmiana ustawień, 2 2 3 Windows, 2 7 7 witryna, 20, 26, 48, 91, 134, 200, 2 0 5 dodawanie użytkowników, 2 2 8 generowana dynamicznie, 4 7 indeksowanie, 2 0 5

zaplecze administracyjne, 21, 41, 2 2 7 zarządzanie treścią, 4 7 zmiany w sekcji, 5 4 znaczniki, 73

295