Implementacja szablonu do wyświetlania podstrony z: header, nav, main i footer
Ogólne zmienne użytkowe: ------------------------ • base_path: podstawowa ścieżka URL instalacji Drupala. Zwykle będzie to „/”, chyba, że instalacja jest w podkatalogu. • logged_in: flaga stanu - TRUE jeśli bieżący użytkownik jest zarejestrowany i zalogowany • is_front: flaga stanu - TRUE jeśli bieżąca podstrona jest stroną główną • is_admin: flaga stanu - TRUE jeśli bieżący użytkownik ma uprawnienia dostępu do stron administracyjnych Site identity: -------------- • front_page: adres URL strony głównej. Lepsze niż base_path podczas linkowania do strony głównej. Obejmuje: language domain lub prefix. Page content (kolejność występowania w domyślnym page.html.twig): ----------------------------------------------------------------- • messages: Komunikaty o statusie i błędach. Powinien być umieszczony w widocznym miejscu. • node: Węzeł w pełni wyświetlony, jeśli "Node ID" drugim argumentem ścieżki. Np.: node/12345 i node/12345/revisions, ale nie comment/reply/12345 Można wykorzystać do tworzenia warunku "jeśli node to . . ." Regions: lista regionów, lepiej zapoznać się z nią w pliku *.info.yml, ponieważ byłoby to tylko powtórzenie. ------------------------------------------------------------------------------------------------------------ • page.nazwa_regionu: dowolny region (obszar). Definiowanie i dodawanie regionów (obszarów)
Przykładowe sugestie nazw plików dla szczególnych zastosowań
page.html.twig
-
page--node.html.twig
-
page--node--article.html.twig
-
page--node--%.html.twig
-
page--node--37.html.twig
-
page--front.html.twig
-
page--taxonomy--term
-
page--node--edit.html.twig
-
page--.html.twig
-
Wyświetlenie sloganu, nazwy, ścieżki loga i tytułu H1
Standardowo te elementy są umieszczane w bloku Marki witryny (block--system-branding-block.html.twig), w obszarze page.header. Wyświetlanie bloku konfiguruje się w "Układ bloków". Aby mięć dostęp do tych elementów należy utworzyć w pliku theme_name.theme określony kod, a w pliku szablonu page.html.twig umieścić następujące zmienne:
{{ site_name }} {{ logopath }} {{ site_title }} {{ site_slogan }}
Kod w pliku *.theme
Wyświetlenie głównej nawigacji Main Menu
Na to pozwala użycie modułu: Simplify Menu wraz z kodem:
{# Get menu items #} {% set items = simplify_menu('main') %} {# Iterate menu tree #} <nav class="navigation__items"> {% for menu_item in items.menu_tree %} <li class="navigation__item"> <a href="{{ menu_item.url }}">{{ menu_item.text }}</a> </li> {% endfor %} </nav>
MAIN content
aside role="complementary" poza znacznik main. Tylko jeden pasek {{ page.content }}
Breadcrumbs
Za wyświetlenie zawartości ścieżki nawigacyjnej odpowiada szablon breadcrumb.html.twig
Jaki wpływ na witrynę ma usunięcie sekcji DIV z klasą layout-container?
Póki co nie zauważyłem problemów.
Jaki wpływ na witrynę ma usunięcie sekcji DIV z klasą layout-content?
Póki co nie zauważyłem problemów.
Jak dodać menu główne bezpośrednio w page.html.twig
Odpowiedź: #wyswietlenie-glownej-nawigacji