Alternatywne szablony w zależności od rodzaju strony
Zawarte tu informacje dotyczą modyfikacji wyglądu segmentów i całej strony w zależności od typu wyświetlanego segmentu (artykuł, wątek, książka). Mogą być one przydatne np. gdy chcesz w inny sposób zaprezentować użytkownikom statyczne strony typu „o nas” czy „regulamin korzystania” (pozbyć się informacji o dacie dodania itp.).
Drupal i PHPTemplate oferują dwie podstawowe możliwości:
- nadanie innego wyglądu segmentowi (tytuł, informacje o autorze, dacie dodania, odnośniki kontekstowe itp.)
- nadanie innego wyglądu całej stronie
poprzez stworzenie alternatywnych szablonów PHPTemplate.
Wygląd segmentów
Skopiuj swój plik node.tpl.php, odpowiadający za wygląd segmentu i nadaj mu nowy tytuł zgodnie ze schematem node-typ_segmentu.tpl.php, gdzie typ_segmentu to np. „page” (dla statycznych stron).
Następnie zmodyfikuj zawartość tego pliku zgodnie z Twoimi wymaganiami. Możesz usunąć pewne fragmenty albo dodać nowe.
Zwróć uwagę, że – korzystając z funkcji Clean URLs – możesz zamieścić swoją stronę pod adresem typu /o-nas czy /pomoc.
Wygląd całej strony
Alternatywne szablony modyfikujące wygląd całej strony osiągnąć można na wiele sposobów. Tutaj przedstawiony zostanie jeden z najprostszych, a zarazem najbardziej wygodnych.
Mechanizm tego rozwiązania polega na wywołaniu z głównego pliku szablonu całej strony innych szablonów, w zależności od rodzaju segmentu.
Skopiuj swój plik page.tpl.php w bezpieczne miejsce oraz do pliku page-default.tpl.php. Zawartość page.tpl.php zastąp poniższym kodem, którego autorem jest PhilK:
<?php switch ($node->type) {
case ‚book’: $inc = ‚page-book.tpl.php’; break;
case ‚blog’: $inc = ‚page-blog.tpl.php’; break;
case ‚image’: $inc = ‚page-image.tpl.php’; break;
case ‚forum’: $inc = ‚page-forum.tpl.php’; break;
default: $inc = ‚page-default.tpl.php’; break; } include ($inc); ?>
Działanie kodu:
- jeśli rodzaj segmentu to książka – odczytanie pliku page-book.tpl.php
- jeśli blog – page-blog.tpl.php
- jeśli grafika dodana przez moduł image – page-image.tpl.php
- jeśli wątek na forum – page-forum.tpl.php
- w innych przypadkach – page-default.tpl.php
Możesz usunąć wybrane linijki rozpoczynające się od case albo dodać własne, wywołujące szablony wyglądu innych rodzajów segmentów.
Następnie powinieneś oczywiście wyedytować każdy z potrzebnych plików .tpl.php i odpowiednio dostosować wygląd.
W ten sposób zmienić możesz nie tylko strukturę stron (HTML), ale i ich ostylowanie. W sekcji
Możesz także sprawić by pierwsza, główna strona witryny posiadała inny wygląd. W tym celu dodaj następującą linijkę na początek kodu:
if ($is_front) {include ‚page-front.tpl.php’; return; }
i stwórz szablon page-front.tpl.php.
Inne możliwości
Jest wiele innych sposób na zmianę wyglądu w zależności od typu segmentu, włączają w to uzależnienie wyglądu od kategorii, w której umieszczony został dany segment. Więcej informacji znajdziesz na poniższych stronach:
- Customising full page layouts and sections
- Customising node layouts
- Customising flexinode layouts – dla użytkowników modułu flexinode
- moduł taxonomy_theme, umożliwiający zmianę wyglądu w zależności od słownika lub terminu taksonomii, do którego należy segment

blad: P
Anonim, pt., 2008-07-04 10:54Alternatywne szablony w zależności od rodzaju strony archetwist, pt., 2006–05–05 14:34
Parse error: syntax error, unexpected ‚>’ in /home/archekrk/public_html/letwist.net/includes/common.inc(1537) : eval()'d code on line 16