Region w Drupalu to obszar skórki, w którym możemy umieścić dowolny blok z poziomu strony Zarządzanie › Struktura › Bloki, a dodanie takiego regionu do skórki to nic trudnego – chwila moment i gotowe.
Poniżej krok po kroku jak dodać przykładowy region o nazwie Obszar nad zawartością, który jak brzmi jego nazwa znajdzie się nad zawartością strony, czyli nad regionem Content. Tutek na przykładzie domyślnie obecnej skórki Drupala – Bartik.
Krok 1
Odpalamy program FTP i wchodzimy do katalogu skórki do której chcemy dodać region (themes/
– skórki domyślne Drupala || sites/all/themes/
– dodatkowe wgrane przez nas skórki).
Krok 2
Otwieramy plik NazwaSkórki.info
i dodajemy nad (formalnie to wstawiamy gdzie chcemy, ale warto w tym pliku trzymać porządek i pewną hierarchię):
https://gist.github.com/DMati/6236d96d186cafa1af09c7ba0b8bd8ce
Poniższy kod:
https://gist.github.com/DMati/7f44d9af989163082c2fe35ad1de3bb1
Gdzie:
- `Obszar nad zawartością` to nazwa naszego regionu, która będzie widoczna na stronie zarządzania blokami i tam gdzie taka nazwa będzie wyświetlana np: w jakiś dodatkowych modułach do bloków.
- `obszar_nad_zawartoscia` to nazwa wewnętrzna i według niej Drupal będzie „identyfikował” nasz region i przypisywał do niego bloki.
Uwaga! W nazwie wewnętrznej nie używamy polskich znaków, a zamiast spacji stosujemy podkreślnik w formie poziomej dolnej kreski (Shift+klawisz myślnika).
Zapisujemy wprowadzone zmiany w tym pliku i zamykamy.
Krok 3
Otwieramy plik page.tpl.php. Szukamy:
https://gist.github.com/DMati/ccc33a24c193cbe37d3e4deea7045f4e
I dodajemy nad nim poniższy kod:
https://gist.github.com/DMati/8519fd363eee13fca79ae19bc271f4e4
Gdzie:
- `if ($page`… sprawdza czy do danego regionu w tym przypadku regionu Obszar nad zawartością są przypisane jakieś bloki
- `print render`… wyświetla nasz nowy region wraz z przypisanymi do niego blokami
Zapisujemy wprowadzone zmiany w tym pliku i zamykamy.
Gdybyśmy sobie chcieli ten region objąć dodatkowym divem, najlepiej wstawić go wewnątrz warunku if $page
, przykład:
https://gist.github.com/DMati/5401920faa0b87c64c118cc84dabf7c7
Dzięki temu ten nasz dodatkowy div będzie widoczny tylko gdy będzie wyświetlony region z blokami. Ale dla formalności tak czy tak Drupal domyślnie wsadzi nasz region do diva w postaci:
https://gist.github.com/DMati/fa07b229ad334e35d818fea017ac2c5f
Krok 4
Wchodzimy na Zarządzanie › Konfiguracja › Wydajność i klikamy przycisk wyczyszczenia pamięci cache Drupala aby nasz nowy region został dostrzeżony.
Krok 5
Wchodzimy na Zarządzanie > Struktura > Bloki i sprawdzamy czy region Obszar nad zawartością został dodany.
Krok 6 (opcjonalny)
Ostatni krok zależy już od nas, bo sprowadza się do ostylowania naszego regionu w zależności od potrzeb, przykładowo chcemy dodać margines na dole aby dodać większy odstęp między naszym regionem a regionem Content, który wyświetla główną zawartość strony.
Otwieramy plik style.css w katalogu skórki. I dodajemy:
https://gist.github.com/DMati/7abe305dbfbf3419ea947cc18dc3b06a
Gdzie:
- `region-obszar-nad-zawartoscia` to klasa diva jakim domyślnie przez Drupala zostanie objęty nasz region
I to by było na tyle, możemy już umieszczać bloki w tym regionie pamiętając aby po dodaniu bloków wykonać ponownie krok 4 jeżeli mamy włączony cache dla stron i bloków.