|
|
|
od jakiegoś czasu probuje się bawić w CMS-ie Joomla!.
Wszyscy wtajemniczeni zapewne wiedzą ze jest to chyba najlepszy i najbardziej rozwinięty system i do tego jeszcze na licencji GNU.
Po żmudnych probach nauczyłem się instalować joomlę i obsługiwać ją ale męczy mnie stale problem tworzenia szablonów do joomli. Można w sieci znaleźć bardzo wiele, bardzo ładnych szablonów ale nigdy nie odpowiadają one moim oczekiwaniom, a wprowadzenie zmian w czyimś kodzie jest dosyć uciążliwe.
Przeczytałem już wiele tutoriali o tworzeniu szablonów ale właściwie żaden nie pokazuje jak zrobić taki szablon od A do Z. Najważnbiejsza czesc ktora mnie inetersuje jest zazwyczaj pominieta, a nie sadze zeby byla AŻ TAK oczywista.
Mianowicie chodzi mi o to na jakiej zasadzie tworzy sie szablon by poszczegolne moduly byly umieszczone tam gdzie sobie je wyznaczę. Jak to zrobic?
Link Cytuj
|
|
|
0
|
|
|
|
|
Ja kiedyś tez poszukiwałam wiadomości na ten temat, miałam nawet książkę o joomli ale o dziwo nic tam nie bylo na temat tworzenia własnego szablonu od podstaw.
Miałam wrażenie, że to jest tak oczywiste i tylko ja tego nie rozumiem.
Postaram się napisać kilka słów na ten temat. *smile*
Link Cytuj
|
|
|
0
|
|
|
|
|
Nasz szablon nazwę Pink.
W folderze o nazwie pink powinny się znajdować takie pliki:
- templateDetails.xml
- index.php
- template_thumbnail.jpg
- folder o nazwie css zawierający plik template_css.css
- folder o nazwie images zawierający wszelkie pliki graficzne
Link Cytuj
|
|
|
1
|
|
|
|
|
plik templateDetails.xml
zapisany jest w formacie xml i zawiera informacje na temat autora oraz tego jakie pliki składają się na cały szablon
Link Cytuj
|
|
|
1
|
|
|
|
|
kod takiego pliku może wyglądać tak:
>?xml version="1.0" encoding="iso-8859-1"?>
>mosinstall type="template" version="1.0.0">
>name>pink>/name>
>creationDate>8/3/09>/creationDate>
>author>cmyk>/author>
>copyright>GNU/GPL>/copyright>
>authorEmail>cmyk@mail.pl>/authorEmail>
>authorUrl>http://www.oferia.pl>/authorUrl>
>version>2.2>/version>
>description>Szablon Joomla>/description>
>files>
>filename>index.php>/filename>
>filename>template_thumbnail.png>/filename>
>/files>
>images>
>filename>images/zdjecie1.png>/filename>
>filename>images/zdjecie2.png>/filename>
>filename>images/zdjecie3.png>/filename>
>filename>images/zdjecie4.png>/filename>
>filename>images/zdjecie5.png>/filename>
>/images>
>css>
>filename>css/template_css.css>/filename>
>/css>
>/mosinstall>
silver_cloud wyedytował tego posta w dniu 2009-03-08 20:04:19
Link Cytuj
|
|
|
1
|
|
|
|
|
UWAGA: tam gdzie jest apostrof powinny byc cudzyslowia
Link Cytuj
|
|
|
1
|
|
|
|
|
OBJAŚNIENIE POSZCZEGÓLNYCH WYRAŻEŃ:
>?xml version="1.0" encoding="iso-8859-1"?>
kodowanie
>mosinstall type="template" version="1.0.0">
wersja joomli
>name>pink>/name>
nazwa szablonu
>creationDate>8/3/09>/creationDate>
data utworzenia szablonu
>author>cmyk>/author>
autor - mozna wpisać pseudonim, imię i nazwisko, nazwę firmy, co się chce
>copyright>GNU/GPL>/copyright>
prawa autorskie, tutaj akurat licencja GNU " szczegóły innym razem"
>authorEmail>cmyk@mail.pl>/authorEmail>
email autora szablonu
>authorUrl>http://www.oferia.pl>/authorUrl>
strona internetowa autora jesli posiada
>version>2.2>/version>
wersja szablonu
>description>Szablon Joomla>/description>
opis szablonu, mozna wpisać cokolwiek się chce, tekst opisujący dzialaność firmy itd.
Link Cytuj
|
|
|
1
|
|
|
|
|
>files>
>filename>index.php>/filename>
>filename>template_thumbnail.png>/filename>
>/files>
nazwy plików w folderze glownym "folder "pink""
>images>
>filename>images/zdjecie1.png>/filename>
>filename>images/zdjecie2.png>/filename>
>filename>images/zdjecie3.png>/filename>
>filename>images/zdjecie4.png>/filename>
>filename>images/zdjecie5.png>/filename>
>/images>
wymienione poszczegolne zdjęcia ktore znajdują sie w folderze "images" a ten z kolei w folderze glownym "pink"
>css>
>filename>css/template_css.css>/filename>
>/css>
plik z kaskadowym arkuszem stylow o nazwie template_css.css w folderze "css" ktory jest w folderze glownym "pink"
>/mosinstall>
Link Cytuj
|
|
|
1
|
|
|
|
|
Czyli struktura wyglada tak:
pink/templateDetails.xml
pink/index.php
pink/template_thumbnail.jpg
pink/images/zdjecie1.jpg
pink/css/template_css.css
czy tak?
Link Cytuj
|
|
|
1
|
|
|
|
|
tak, dokladnie tak wyglada struktura
Link Cytuj
|
|
|
1
|
|
|
|
|
następnie potrzebujemy mieć kod strony, robimy go jak normalną stronę internetową, tniemy grafikę i umieszczamy ją w folderze images, zaznaczamy sobie gdzie chcemy mieć poszczególne moduły i teraz trzeba wiedzieć jakie moduły są dostępne i na czym umieszczanie modułów polega.
Link Cytuj
|
|
|
1
|
|
|
|
|
moduły dostępne w joomli to między innymi:
Menu witryny
Menu dodatkowe
Migawki
Szukaj
Menu górne
Logowanie
Banery - reklama
Popularne
itd.
wszystkie moduły mozna obejrzeć wchodząc w panelu administratora w Modules>Site modules "niestety mam po angielsku ale raczej nie trudno znaleźć"
Link Cytuj
|
|
|
1
|
|
|
|
|
Po wejściu w menadzera modułów "module manager" możemy zobaczyć na jakiej pozycji jest dany moduł.
Np. Menu ma pozycję "left"
a moduł Sonda ma pozycję "right"
Teraz tam gdzie w kodzie strony wpiszemy tag z nazwą pozycji, to w takiej pozycji będzie się wyświetlał taki moduł ktory ma tą pozycję przypisaną. Można pozycje przypisywać różnym modułom i zmieniać te moduły w panelu administratora, dlatego nie trzeba się martwić ze się wpisze złą pozycję w kodzie.
Link Cytuj
|
|
|
1
|
|
|
|
|
Aby zdefiniować w kodzie daną pozycję wpisujemy taki kod:
>?php mosLoadModules " "user1" " ?>
UWAGA: tym razem tam gdzie jest apostrof, ma być apostrof
tag ten definiuje pozycję User1
Link Cytuj
|
|
|
1
|
|
|
|
|
np mamy stronę opartą o tabelę, ktora ma trzy kolumny, zalozmy ze w lewej kolumnie wpisujemy kod z pozycją user1 i chcemy tej pozycji przypisać menu
idziemy do menadżera modułów, znajdujemy moduł menu witryny, klikamy na niego i zmieniamy jego pozycję na user 1 "domyślnie ma przypisaną pozycję left, o ile dobrze pamietam"
Link Cytuj
|
|
|
1
|
|
|
|
|
tworzenie szablonu do joomli opiera sie na tym by w odpowiednich miejscach wpisać tagi opisujące pozycje, a potem gdy juz wgramy szablon na stronę, pożądanym modułom przypisać te pozycje.
Link Cytuj
|
|
|
1
|
|
|
|
|
Są jednak tagi ktore definiują tylko jeden konkretny element i tam gdzie je wstawimy, tam ten element bedzie wystepowal. Są to:
STOPKA
>?php include_once""includes/footer.php"" ?>
pokaże się wtedy nazwa strony, copyright itd.
ŚCIEŻKA pokazująca gdzie się na stronie znajdujemy np. Start> Galeria> Wakacje 2008
"nie pamietam jak sie ten modul nazywa"
>?php mosPathWay"" ?>
Link Cytuj
|
|
|
1
|
|
|
|
|
GŁÓWNA TREŚĆ STRONY:
>?php mosMainBody"" ?>
Link Cytuj
|
|
|
1
|
|
|
|
|
NAZWA STRONY:
>?php echo $mosConfig_sitename ?>
tam gdzie jest ten tag, będzie wyświetlać się nazwa strony
Link Cytuj
|
|
|
1
|
|
|
|
|
kod html do >body> musi być zastąpiony tym kodem:
>?php defined" "_VALID_MOS" " or die" "Direct Access to this location is not allowed." "?>
>!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
>html xmlns="http://www.w3.org/1999/xhtml">
>head>
>?php if " $my->id " { initEditor"" } ?>
>meta http-equiv="Content-Type" content="text/html charset=iso-8859-1" />
>?php mosShowHead"" ?>
>?php echo ">link rel=\"stylesheet\" href=\"$GLOBALS[mosConfig_live_site]/templates/$GLOBALS[cur_template]/css/template_css.css\" type=\"text/css\"/>" ?>>?php echo ">link rel=\"shortcut icon\" href=\"$GLOBALS[mosConfig_live_site]/images/favicon.ico\" />" ?>
>/head>
>body>
wszędzie gdzie są apostrofy mają być cudzysłowia
Link Cytuj
|
|
|
1
|
|