Jak korzystać z modułu dodatków do pozycji menu w Drupalu 8?

Opublikowany: 2022-02-16

Mega menu nie jest już trendem w projektowaniu, ale istotną częścią większości stron internetowych związanych z wiadomościami lub eCommerce.

Moduł Dodatki do pozycji menu dla Drupala 8 ulepsza domyślny system menu w Drupalu, umożliwiając konstruktorowi witryny dodawanie pól do pozycji menu. W ten sposób można w kilku prostych krokach stworzyć mega menu.

Śledź dalej, aby dowiedzieć się, jak korzystać z tego modułu. Zaczynajmy!

Krok #1: Zainstaluj wymagane moduły

Oprócz modułu Dodatki do pozycji menu musisz zainstalować Viewfield. Viewfield udostępnia pole, które przechowuje odwołanie do View i renderuje je za każdym razem, gdy wyświetlana jest jednostka zawierająca pole.

  • Otwórz aplikację terminala na swoim komputerze.
  • Typ :
    • kompozytor wymaga drupala/pola widzenia
    • kompozytor wymaga drupala/menu_item_extras

200414 Dodatki do pozycji menu 001200414 Dodatki do pozycji menu 001

Po pobraniu włącz oba moduły.

  • Kliknij Rozszerz.
  • Sprawdź oba moduły.
  • Kliknij Zainstaluj.

200414 pozycja menu dodatki 003


Krok #2: Utwórz system taksonomii

Być może słowo „system” nie jest zbyt odpowiednie, ponieważ stworzymy tylko jeden słownik z dziesięcioma powiązanymi terminami. Jednak ten przykład wyjaśni podstawy, dzięki czemu w przyszłości będziesz mógł pracować z bardziej skomplikowanymi systemami taksonomii.

  • Kliknij opcję Struktura > Taksonomia > Dodaj słownik.
  • Wpisz nazwę „Tematy” i kliknij Zapisz.
  • Kliknij Dodaj termin i dodaj kolejno wszystkie terminy wyszczególnione poniżej.
    • Tematy
      • D8
      • Symfony
      • WP
      • Magento
      • CSS
      • HTML
      • JS
      • PHP
      • Pyton
      • DevOps

200414 pozycja menu dodatki 004


Krok 3: Utwórz typy treści

Na potrzeby tego samouczka użyjemy 2 typów zawartości z następującymi polami:

  • Usługi
    • Obraz usługi / Obraz / Dozwolona liczba wartości: 1
    • Tekst wstępu / Tekst (sformatowany) / Dozwolona liczba wartości: 1
    • Opis / Pole domyślne

200414 pozycja menu dodatki 005

  • Blog
    • Kategoria / Termin taksonomiczny / Dozwolona liczba wartości: nieograniczona
    • Opis / Pole domyślne

200414 pozycja menu dodatki 006

Upewnij się, że podczas tworzenia pola Taksonomia wybrałeś Typ odniesienia (Tematy).

200414 pozycja menu dodatki 007


Krok 4: Utwórz treść

Zamierzamy stworzyć 3 węzły typu Service:

  • Poradniki
  • Filmy
  • Książki

Każdy z tych węzłów będzie powiązany z elementem drugiego poziomu w mega menu. Z drugiej strony stworzymy około 10 węzłów typu Blog z różnymi terminami z nimi związanymi. Upewnij się, że dołączasz 2 z terminów (np.: D8, WP) częściej niż pozostałe.

200414 pozycja menu dodatki 008

Ekran Zawartość powinien wyglądać na końcu tego procesu mniej więcej tak, jak na poniższym obrazku.

200414 pozycja menu dodatki 009


Krok 5: Utwórz pozycje menu

Pierwszy poziom menu głównego będzie zawierał następujące pozycje menu:

  • Dom
  • O
  • Zasoby
  • Kontakt

Każda z pozycji menu będzie miała dodatkowe (dodatkowe) pole. To pole zostanie ustawione na drugim poziomie menu, czyli na każdym z elementów karty w mega menu. To pole pozwoli nam zaprezentować każdy z bloków widokowych.

  • Kliknij opcję Struktura > Menu.
  • Kliknij menu Edycja, aby edytować nawigację główną.

200414 pozycja menu dodatki 010

  • Kliknij Dodaj łącze 3 razy, aby dodać brakujące elementy menu pierwszego poziomu.
  • Kliknij Zapisz za każdym razem, gdy wpiszesz nazwę pozycji menu.

Użyj specjalnego tagu, aby wyświetlić tylko tekst linku.

200414 pozycja menu dodatki 011

200414 pozycja menu dodatki 012

Po utworzeniu i przeorganizowaniu linków w menu,

  • Kliknij Zarządzaj polami > Dodaj pole, aby dodać pole do elementów menu.
  • Wybierz pole typu Pole widoku.
  • Nadaj mu odpowiednią nazwę i etykietę.
  • Kliknij Zapisz i kontynuuj.

200414 pozycja menu dodatki 013

  • Ustaw Dozwoloną liczbę wartości na Nieograniczony.
  • Kliknij Zapisz ustawienia pola

200414 pozycja menu dodatki 014

Będziesz mieć możliwość połączenia widoku domyślnego z tym konkretnym polem. Zostaw te pola puste.

  • Przewiń w dół i kliknij Zapisz ustawienia
  • Kliknij Zarządzaj wyświetlaniem.

200414 pozycja menu dodatki 015

  • Ukryj etykietę karty menu.
  • Kliknij Zapisz.

Krok #6: Utwórz widoki

  • Kliknij Struktura > Widoki > Dodaj widok
  • Pokaż zawartość typu Usługi.
  • Utwórz blok z niesformatowaną listą pól.
  • Wybierz , aby pokazać 3 elementy na blok.
  • Kliknij Zapisz i edytuj.

200414 pozycja menu dodatki 016

  • Dodaj pole obrazu usługi
  • Ustaw styl obrazu na Miniatura i połącz obraz z Treścią.
  • Kliknij Zastosuj

200414 pozycja menu dodatki 017

  • Dodaj również pole tekstowe Intro.
  • Zmień kolejność pól.
  • Kliknij Zapisz.

200414 pozycja menu dodatki 018

  • Kliknij Struktura > Widoki > Dodaj widok
  • Pokaż zawartość typu Blog.
  • Utwórz blok z niesformatowaną listą pól.
  • Wybierz , aby pokazać 1 element na blok.
  • Kliknij Zapisz i edytuj.

Jak korzystać z modułu dodatków do pozycji menu w Drupalu 8?

  • Dodaj pole Kategoria.
  • Kliknij Dodaj i skonfiguruj pola.
  • Kliknij Ustawienia wielu pól.
  • Wybierz Lista nieuporządkowana.
  • Ustaw liczbę wyświetlanych wartości na 3.
  • Kliknij Zastosuj.

200414 pozycja menu dodatki 020

  • Usuń kryterium sortowania
  • Kliknij Zastosuj.
  • Kliknij Zapisz, aby zapisać widok.

Krok #7: Dodaj bloki widoku do pozycji menu

  • Kliknij Struktura > Menu
  • Edytuj nawigację główną.
  • Edytuj pozycję menu Zasoby.
  • Dodaj 2 bloki utworzone w kroku 5.
  • Kliknij Zapisz.

200414 pozycja menu dodatki 021


Krok 8: Style CSS

Nie będę wyjaśniał szczegółowo tego kodu, ponieważ jest on poza zakresem tego samouczka. Możesz jednak dowiedzieć się więcej na temat widoków Drupala i siatki CSS w tym artykule. Jeśli chcesz poćwiczyć więcej z mega menu, zajrzyj również do tego artykułu.

 #block-bartik-main-menu a,
#block-bartik-main-menu li span {
background: transparent;
text-shadow: unset;
color: whitesmoke;
}

#block-bartik-main-menu .menu-level-0 {
display: grid;
grid-template-columns: repeat(4, 1fr);
}

#block-bartik-main-menu .field--name-field-menu-card .field__items {
display: flex;
}

#block-bartik-main-menu .menu-dropdown-0 {
position: absolute;
left: 0;
top: 166px;
width: 100%;
z-index: 10;
}

#block-bartik-main-menu a,
#block-bartik-main-menu li span {
background: transparent;
text-shadow: unset;
color: whitesmoke;
}

#block-bartik-main-menu .menu-item {
display: grid;
align-content: center;
justify-content: center;
}

#block-bartik-main-menu .menu-level-0 {
display: grid;
grid-template-columns: repeat(4, 1fr);
}

#block-bartik-main-menu .menu-dropdown-0 {
position: absolute;
left: 0;
width: 100%;
padding-top: 16px;
background-color: rgba(141,139,132, 0.9);
}

.view-tutorials .view-content {
display: grid;
grid-template-columns: repeat(3, 1fr);
}

.view-tutorials .views-row {
display: grid;
justify-items: center;
}

.view-tutorials .views-row span > a {
font-size: 1.3rem
}

.view-tutorials .views-row .views-field-field-intro-text {
font-size: 1rem;
}
OTWÓRZ W WYSKAKUJĄCYM
 #block-bartik-main-menu a,
#block-bartik-main-menu li span {
background: transparent;
text-shadow: unset;
color: whitesmoke;
}

#block-bartik-main-menu .menu-level-0 {
display: grid;
grid-template-columns: repeat(4, 1fr);
}

#block-bartik-main-menu .field--name-field-menu-card .field__items {
display: flex;
}

#block-bartik-main-menu .menu-dropdown-0 {
position: absolute;
left: 0;
top: 166px;
width: 100%;
z-index: 10;
}

#block-bartik-main-menu a,
#block-bartik-main-menu li span {
background: transparent;
text-shadow: unset;
color: whitesmoke;
}

#block-bartik-main-menu .menu-item {
display: grid;
align-content: center;
justify-content: center;
}

#block-bartik-main-menu .menu-level-0 {
display: grid;
grid-template-columns: repeat(4, 1fr);
}

#block-bartik-main-menu .menu-dropdown-0 {
position: absolute;
left: 0;
width: 100%;
padding-top: 16px;
background-color: rgba(141,139,132, 0.9);
}

.view-tutorials .view-content {
display: grid;
grid-template-columns: repeat(3, 1fr);
}

.view-tutorials .views-row {
display: grid;
justify-items: center;
}

.view-tutorials .views-row span > a {
font-size: 1.3rem
}

.view-tutorials .views-row .views-field-field-intro-text {
font-size: 1rem;
}

200414 pozycja menu dodatki 022

Mam nadzieję, że podobał Ci się ten samouczek. Dziękuje za przeczytanie!