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 
<style type=„text/css” media=„all”>@import „/katalog_skór­ki/image.css”;</sty­le>

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:

Sposób wyświetlania odpowiedzi

Wybierz preferowany sposób wyświetlania odpowiedzi i kliknij "Zachowaj ustawienia", by wprowadzić zmiany.

blad: P

Alternatywne szablony w zależności od rodzaju strony archetwist, pt., 2006–05–05 14:34

Parse error: syntax error, unexpected ‚>’ in /home/archekrk/pu­blic_html/let­wist.net/inclu­des/common.in­c(1537) : eval()'d code on line 16