Start arrow Joomla arrow KURS Szablony Joomla
07.01.2009.
Newsletter
Zapisz się na nasz newsletter (Poradniki Joomla oraz Pozycjonowania).
Biuletyn:
Imię:
Email:


Licznik od 19-10-2008
Dziś11
Wczoraj72
W tygodniu158
W miesiącu409
Wszystkich4585
KURS Szablony Joomla PDF Drukuj Email
Redaktor: Administrator   
29.10.2008.
Znaleźć tu można wiele informacji niezbędnych do zbudowania swojego szablonu do systemu Joomla. Zamiennie będziemy używać określenia szablon/templatka. Z tym kursem zbudujesz swoją pierwszą templatkę. Zapraszam na mój kurs: szablony Joomla!

Żeby w ogóle zacząć uczyć się tworzenia szablonów Joomla trzeba najpierw poznać ogólną strukturę szablonów. Otóż szablony Joomla zapisywane są w folderze templates/nazwa_templatki(szablonu). Typowa budowa szablonu wygląda tak:

układ folderów i plików w szablonie

 

Aby szablon prawidłowo funkcjonował wystarczy plik index.php. To właśnie od niego zaczniemy naszą przygodę z szablonem.

  

Najprostszy szablon Joomla wygląda tak (plik index.php):

  
<?php defined( "_VALID_MOS" ) or die( "Direct Access to this location is not allowed." );
$iso = split( '=', _ISO );
?>
<!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;><?php echo _ISO; ?>" />
<?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>
<?php mosMainBody(); ?>
</body>
</html>
 

Nie będę się u zajmował omawianiem znaczenia poszczególnych wpisów. Przyjmijmy, że tak ma być, tak jest dobrze.

Część bezpośrednio wyświetlana znajduje się w ramach znaczników <body></body>. Na załączonym przykładzie pomiędzy tymi znacznikami mamy wstawiony kod:

<?php mosMainBody(); ?> Odpowiada on za wyświetlanie głównej zawartości witryny (na przykład artykułu, blogu artykułów, komponentu itd.).

 

Jak rozbudować więc strukturę szablonu? Prostym sposobem, wystarczy między znaczniki <body></body> wpisać kod html (zakładam, że wiesz co to jest, jeśli jednak nie wiesz, to poszukaj darmowych kursów w internecie). Może to wyglądać na przykład tak:

<body>

<table border=1 bordercolor=black>

<td colspan=3>NAGŁÓWEK STRONY</td><tr>

<td>LEWA KOLUMNA</td>

<td><?php mosMainBody(); ?></td>

<td>PRAWA KOLUMNA</td><tr>

<td colspan=3>STOPKA</td><tr>

</table>

</body>

 

W praktyce wyświetlane jest to przez przeglądarkę w taki sposób:

 najprostsza templatka

 

  

Zastępujemy teraz ‘GŁÓWNA CZĘŚĆ WITRYNY’ wpisem <?php mosMainBody(); ?>, czyli:

<body>
<table border=1 bordercolor=black>
<td colspan=3>NAGŁÓWEK STRONY</td><tr>
<td>LEWA KOLUMNA</td>
<td><?php mosMainBody(); ?></td>
<td>PRAWA KOLUMNA</td><tr>
<td colspan=3>STOPKA</td><tr>
</table>
</body>
  

Brakuje nam jeszcze modułów. Jak je wkleić? Służy do tego polecenie <?php mosLoadModules('pozycja',styl); ?>, gdzie:

Pozycja- to pozycja jednej ze zdefiniowanych pozycji w administratorze Joomla, może to być na przykład left, right, banner itd.

Styl- może przyjąć wartości 0, 1, -1, -2, -3 , gdzie:

0 – moduły wyświetlane w jednej kolumnie (jeżeli jest więcej modułów na jednej pozycji). To wartość domyślna, której nie trzeba wpisywać.

1 – moduły wyświetlane jeden obok drugiego (horyzontalnie)

-1 – moduły wyświetlane bez tytułu

 

Kierując się tą wskazówką możemy wyposażyć nasz szablon Joomla w moduły:

<body>
<table border=1 bordercolor=black>
<td colspan=3>NAGŁÓWEK STRONY</td><tr>
<td><?php mosLoadModules('left'); ?></td>
<td><?php mosMainBody(); ?></td>
<td><?php mosLoadModules('right'); ?></td><tr>
<td colspan=3>STOPKA</td><tr>
</table>
</body>
 

W ten sposób nasza strona ma już treść i moduły. Co jeszcze możemy zrobić? Możemy na przykład w dolnej części witryny dać ścieżkę:

<?php mospathway() ?>

nazwę strony:

<?php echo $mosConfig_sitename; ?>

czy też pełną stopkę:

<?php include_once( $mosConfig_absolute_path.'/includes/footer.php' ); ?>

 

Może to wyglądać tak:

<body>
<table border=1 bordercolor=black>
<td colspan=3>NAGŁÓWEK STRONY</td><tr>
<td><?php mosLoadModules('left'); ?></td>
<td><?php mosMainBody(); ?></td>
<td><?php mosLoadModules('right'); ?></td><tr>
<td colspan=3><?php echo $mosConfig_sitename; ?></td><tr>
</table>
</body>
  

Jak widać, został jeszcze nagłówek strony. W to miejsce wystarczy przywołać jakąś grafikę wcześniej przygotowaną (tzw. header) i umieszczoną w katalogu ‘images’ naszego szablonu :

 
<body>
<table border=1 bordercolor=black>
<td colspan=3><img src=”<?php echo "$GLOBALS[mosConfig_live_site]/templates/$GLOBALS[cur_template]/images/"; ?>header.jpg"></td><tr>
<td><?php mosLoadModules('left'); ?></td>
<td><?php mosMainBody(); ?></td>
<td><?php mosLoadModules('right'); ?></td><tr>
<td colspan=3><?php echo $mosConfig_sitename; ?></td><tr>
</table>
</body>
 

Możemy się już cieszyć swoją pierwszą prostą templatką, która obsługuje nam ładnie moduły oraz główną zawartość serwisu:

<?php defined( "_VALID_MOS" ) or die( "Direct Access to this location is not allowed." );
$iso = split( '=', _ISO );
?>
<!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;><?php echo _ISO; ?>" />
<?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>
<table border=1 bordercolor=black>
<td colspan=3><img src=”<?php echo "$GLOBALS[mosConfig_live_site]/templates/$GLOBALS[cur_template]/images/"; ?>header.jpg"></td><tr>
<td><?php mosLoadModules('left'); ?></td>
<td><?php mosMainBody(); ?></td>
<td><?php mosLoadModules('right'); ?></td><tr>
<td colspan=3><?php echo $mosConfig_sitename; ?></td><tr>
</table>
</body>
</html>
  

W kursie tym pokazałem przykładową budowę strony opartą na tabelach kodu html. Obecnie głównie zaleca się stosowanie warstw <div>.

 

Jak widać zostało jeszcze wiele do zrobienia. Trzeba wziąć się za formatowanie szablonu tak, by strona była miła dla oka. W następnej części kursu tworzenia szablonów Joomla zajmiemy się stylami CSS, które w prosty sposób pozwolą nam formatować wyświetlane elementy strony (myślę, że wpis ukaże się jeszcze w tym roku ;).

 

Jeżeli są kwestie, które chcesz aby omówić w pierwszej kolejności, to proszę o pisanie o tym w komentarzach poniżej.

    
» 2 Komentarze
1"Kolejna czesc"
z wtorek, 04 listopad 2008 09:33przez aderowicz
Z niecierpliwością czekam na kolejna odsłonę kursu. Nie wiedzialem od czego zaczac TERAZ WIEM! Dzieki
2"super"
z środa, 12 listopad 2008 13:28przez super
zajebiste to jest !!!! prosto i na temat rewelacja !!!!
» Wyślij komentarz
Email (nie będzie widoczny)
Nazwa
Tytuł
Komentarz
 podmiana znaków
Captcha Image Regenerate code when it's unreadable
 
« poprzedni artykuł   następny artykuł »