Odpowiedź
Obszary bloków i segmentów w PHPTemplate
Zanim przystąpisz do defniowania obszarów dla swojego szablonu PHPTemplate, być może będziesz chciał się zapoznać z ogólnymi informacjami na temat obszarów.
Poniżej znajdują się informacje na temat standardowych obszarów i dodawania własnych, ich wykorzystanie jednak daje o wiele szersze możliwości niż mógłbyś przypuszczać.
Standardowe obszary
Domyślnie PHPTemplate definiuje pięć podstawowych obszarów: lewy, prawy, obszar zawartości, nagłówek oraz stopkę. Ich angielskie nazwy, używane w samym szablonie, to odpowiednio: left, right, content, header, oraz footer.
Definiowanie obszarów polega jedynie na wprowadzeniu w szablonie zmiennych odwołujących się do tychże obszarów. Zmienne te to: $sidebar_left, $sidebar_right, $content, $header oraz $footer. By wyświetlić na stronie zawartość danego obszaru, wpisalibyśmy w pliku szablonu taki na przykład kod:
<?php print $header; ?>
Definiowanie własnych obszarów
No dobrze, dotychczas nie było zbyt ciekawie, ale przejdziemy do czegoś bardziej interesującego. Przypuśćmy, że chcę dodać nowy obszar ponad główną zawartością, by być na przykład w stanie umieścić bloki zarówno nad zawartością (np. artykułami), jak i pod nią. Muszę więc najpierw zdefiniować swoje obszary w pliku szablonu mojej skórki.
definiowanie obszarów
Definiowanie obszarów jest proste jak budowa cepa i odbywa się w pliku template.php w katalogu ze skórką. Jeśli jeszcze nie posiadasz tego pliku, utwórz go teraz. Następnie wprowadź do niego nową funkcję:
<?php
function moja-skórka_regions() {
return array(
'left' => t('left sidebar'), /* to lewy pasek boczny */
'right' => t('right sidebar'), /* a to prawy */
'header' => t('header'), /* to nagłówek strony */
'top' => t('góra'), /* a to nasz nowy obszar! */
'content' => t('content'), /* dalej zawartość */
'footer' => t('footer') /* i stopka */
);
}
?>
Zwróć uwagę na komentarze objęte znakami /* */.
Wszystkie te obszary są standardowe, z jednym wyjątkiem – wprowadziliśmy nowy obszar o nazwie „top”, który nazwaliśmy „góra”. Reszcie obszarów nie musimy nadawać polskich nazw, ponieważ zostanie to automatycznie dokonane przez moduł obsługujący tłumaczenia.
Pamiętaj by zamienić tekst moja-skórka na nazwę swojej skórki. Inaczej funkcja nie będzie działać.
wyświetlanie obszarów
Mamy obszar, ale Drupal jeszcze nie wie, gdzie go umieścić. Musimy wprowadzić obszar do pliku szablonu strony. Otwieramy więc plik page.tpl.php i w wybranym miejscu (np. powyżej zawartości) wpisujemy:
<?php print $top; ?>
W ten jakże nieskomplikowany sposób umieściliśmy obszar w naszej skórce. Możemy już umieścić w nim bloki.
Zastosowania
Wyobraź sobie co można uzyskać dzięki tej funkcji w połączeniu z alternatywnymi szablonami dla różnych działów witryny. Tak, tak, dzięki temu możemy na przykład sprawić by główna strona nie wyświetlała nawet listy najnowszych segmentów, a wybrane przez nas bloki i zmodyfikowane listy tematyczne.
O tym jednak napiszę w specjalnym poradniku, w którym omówię wykorzystanie obszarów, alternatywnych szablonów oraz genialnego modułu Views.


