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.

Ja właśnie walczę z
Erewhon, wt., 2006-06-20 08:50 moderatorJa właśnie walczę z modułem Views i czekam z niecierpliwością na opis tego modułu. :)
Nie jest to co prawda
archetwist, czw., 2006-06-22 22:16 moderatorNie jest to co prawda dokładny opis modułu, ale zapowiadany poradnik: Różny wygląd podstron za pomocą alternatywnych szablonów, arkuszy i modułu Views :)
„Definiowanie obszarów jest
ireq, pon., 2008-08-25 09:12To już któraś z kolei edycja posta. Wszystkie problemy rozwiązane. Napiszę teraz jak się z nimi uporałem, albo prosto,Jak tworzyć segmenty w Drupalu 6
Otóż w Drupalu 6 definiowanie obszarów jest jeszcze prostsze „niż budowa cepa”. Wszystko definiujemy w pliku .info
Przykładowo mój plik iro.info:
W przypadku gdy nie chce zaskoczyć, trzeba wyczyścić cache.
Wchodząc do: Zarządzaj > Konfiguracja witryny > Wydajność
UWAGA! w pliku nasza-skorka.info nie używamy poslich znaków (nawet w opisach segmentów)! w przeciwnym wypadku natkniecie się na błąd:
Pozdrawiam, mam nadzieję że się przyda.
Dzięki za ten opis.
archetwist, pt., 2008-09-05 17:59 moderatorDzięki za ten opis. Należałoby właściwie całą tę część podręcznika (dotyczącą skórek) uaktualnić. Na drupal.org jest już nowa dokumentacja.
design www drupal