Dag 15: Menu- en block beheer

Vandaag gaan we de blokken (in het engels: blocks) en menu’s op de website beheren. Dit is niet het moeilijkste onderdeel, maar je hebt er bij de bouw van een website altijd mee te maken. Voor dit project gaan we een nieuw menu aanmaken voor ingelogde redacteurs en er via de blokken beheer pagina voor zorgen dat dit menu zichtbaar wordt op een logische plek.

Menu beheer

Het wijzigen van menu’s doe je via structuur > menu’s. De opbouw van de pagina ziet inmiddels er vertrouwd uit, een overzicht met daarboven een menu toevoegen link.

Zoals je ziet zijn er standaard al een aantal menu’s aanwezig:

  • Hoofdmenu - bevindt zich vaak goed zichtbaar bovenaan de pagina en bevat de belangrijkste navigatie onderdelen zoals de Home link en nu ook links naar de Over ons en Diensten pagina.
  • Management - dit is het Drupal beheer menu, de welbekende zwarte balk bovenaan die alleen is bedoeld voor ingelogde administratoren en andere gebruikers die je hier permissie voor hebt gegeven.
  • Navigatie - bevat links voor ingelogde gebruikers met rechten om inhoud toe te voegen. Dit menu past zich automatisch aan aan de gebruikersrol.
  • User menu - een menu voor ingelogde bezoekers met een link naar de profiel pagina, een link om uit te loggen en de door ons eerder toegevoegde Mijn Facturen link.

Ga je rechtsbovenin naar instellingen dan kun je er eventueel voor kiezen om het hoofdmenu te verplaatsen naar een ander menu, of om deze helemaal niet weer te geven.

Hoewel redacteurs op dit moment gebruik kunnen maken van het Navigatie menu om een nieuwsbericht of factuur toe te voegen, is het ook prettig om hier een uniek menu voor aan te maken welke je nog meer op deze specifieke gebruikersrol kunt toespitsen. Laten we eens kijken hoe dit in zijn werk gaat.

Menu toevoegen

Klik op Menu toevoegen.

Als titel vul je iets als “Redactie menu” in. Vervolgens is het een kwestie van links toevoegen die leiden naar de factuur en nieuwsbericht creatie pagina's

Klik op Link toevoegen.

Als Titel kun je “Factuur aanmaken” invullen en het Path dat hierbij hoort is “node/add/facturen”. Het juiste adres kun je achterhalen door simpelweg naar de bewuste pagina te gaan om een factuur toe te voegen en dan de URL in de adres balk te bekijken, waarbij je alleen het gedeelte achter de website URL noteert, met uisluiting van de eerste “/”. Vervolgens kun je nog een toepasselijke hulp tekst invullen voor als iemand met de muis over de link heen gaat.

Het menu-item moet uiteraard ingeschakeld zijn. Standaard uitklappen is alleen van toepassing als we een submenu creëren en indien je wilt dat de items in dit submenu al zichtbaar zijn zonder dat de gebruiker eerst moet klikken op het bovenliggende onderdeel.

Zoals gezegd is er geen sprake van een submenu dus het hoofdonderdeel mag ingesteld blijven op Redacteur. Met behulp van gewicht kun je weer aangeven op welke positie dit item moet komen, maar je kunt ook de links in de juiste volgorde slepen op de overzicht pagina. Sla alles op.

Maak nu op dezelfde manier een link voor het aanmaken van een nieuwsbericht. Als path vul je in “node/add/nieuws”.

Op zich zou een link naar de content overzichtspagina ook nog handig zijn. Voeg als laatste een “inhoudsoverzicht” link aan met als path “admin/content”.

Je merkt dat we nog geen mogelijkheid hebben gehad om aan te geven dat alleen redacteurs dit menu mogen zien. Daarvoor moeten we naar de blokken beheer pagina.

Blokken beheren

Via het blok beheer pagina kun je beslissingen maken over de inrichting van jouw website. Je kunt bepalen waar het redacteurs menu moet komen en precies aangeven voor wie en op welke pagina’s dit menu zichtbaar moet zijn. Ga hiervoor naar structuur > blokken.

Het overzicht is onderverdeeld in verschillende gebieden. Hoeveel gebieden dit zijn, en waar deze zich bevinden, verschilt per thema. In praktisch alle gevallen is er in ieder geval een gebied waar de gevraagde node of view wordt weergegeven, de Inhoud, en een gebied hiernaast met de naam Zijbalk. Het gebied erboven en eronder kom je vaak tegen als respectievelijk Banner en Voet. Om erachter te komen waar alle blokgebieden zich precies op de pagina bevinden klik je op de link Blokgebieden demonstreren, deze bevindt zich vlak boven de link om een blok toe te voegen.

Een aantal van de gebieden hebben blokken toegewezen gekregen. Helemaal onderaan vind je onder het kopje Uitgeschakeld alle blokken die niet zijn geactiveerd. Tussen deze lijst zie je ook het redactie menu staan, want blokken worden in veel gevallen automatisch aangemaakt door modules. Misschien kun je je nog herinneren dat je "create a block" kon selecteren bij het aanmaken van een View?

Sleep het redactie menu onder het Eerste zijbalk gebied.

Dit is hetzelfde gebied waar het blok om in te loggen wordt getoond. Ook het zoekveld bevindt zich hier. Echter, bovenaan zie je dat dit thema hier een eigen gebied voor heeft genaamd Search Area*. Versleep hier het zoekveld blok naartoe zodat deze rechtsboven in de website komt te staan. Sla nu eerst de nieuwe blok configuratie op, helemaal onderaan de pagina.

* Drupal probeert de in het thema aangegeven gebieden altijd automatisch te vertalen, maar dit lukt niet altijd als er van de standaard wordt afgeweken.

Blok instellen

Wanneer je nu de website bekijkt worden het navigatie en redactie menu beide tegelijk weergegeven. Je kunt hier iets aan doen door naar de blok instellingen te gaan, de knop hiervoor bevindt zich aan de rechterzijde achter elk blok.

Open eerst de instellingen van het navigatie blok. Bovenaan kun je eventueel de huidige titel voor dit blok overschrijven. Je zou er bijvoorbeeld “beheerders menu” van kunnen maken. Als je helemaal geen titel boven een blok wilt dan vul je hier “<none>” in.

O de blok instellingen pagina is de optie om per thema de positie van een blok te bepalen. Voor het Seven beheerders thema kun je bijvoorbeeld een blok toevoegen aan het dashboard. Het is mogelijk om meerdere thema’s tegelijkertijd te activeren voor de voorkant van de website. Het standaard Corporate Clean thema wordt nu gebruikt voor alle pagina’s, maar je kunt een extra thema activeren om deze vervolgens alleen toe te wijzen aan één of meerdere pagina’s, bijvoorbeeld een landingspagina. Omdat de namen of locaties van gebieden niet precies overeenkomen maak je dan gebruik van deze functie.

Onderaan in het tab-menu kunnen we de belangrijkste zaken voor het blok instellen:

  • Onder Pagina kun je bepalen dat een blok alleen op een bepaalde pagina zichtbaar is, of juist op alle pagina’s met uitsluiting van de opgegeven pagina(‘s).
  • Onder Inhoudstypen kun je aangeven dat een blok alleen weergegeven moet worden wanneer een node wordt bekeken met het geselecteerde inhoudstype, vink je hier niks aan dat is de node zichtbaar op pagina’s van alle contenttypen.
  • Bij Rollen stel je in welke gebruikersrollen het blok krijgen te zien. Selecteer je geen enkele rol, zoals nu het geval, dan krijgen alle gebruikers dit menu te zien (het navigatie menu is hierop een uitzondering, standaard is het menu alleen zichtbaar voor gebruikers met voldoende rechten. We kunnen deze instelling echter wel overschrijven.)

Stel onder Rollen in dat alleen een administrator toegang heeft tot dit menu.

Sla de wijziging op en ga daarna naar de instellingen van het Redactie menu. Hier stel je onder Rollen in dat alleen redacteurs toegang hebben. Sla de wijzigingen op.

Als je nu inlogt als redacteur krijg je maar één menu te zien dat er als volgt uit zou moeten zien: 

Afhankelijk van hoe je de rechten hebt ingesteld zie je als redacteur, wanneer je klikt op de links, de content binnen het administratie thema te zien, de zogenaamde "back-end", of blijf je aan de “voorkant” van de website, ook wel "front-end".

Slot

Met menu’s en blokken kun je alle kanten op. Aan elke gebruikersrol kun je verschillende blokken presenteren en dat is niet alleen voorbehouden aan menu-blokken. Ook de mogelijkheid om een bepaald blok alleen op een specifieke pagina of content type weer te geven zal erg vaak van pas komen, denk aan een blok met gerelateerde nieuwsberichten dat er alleen is wanneer een bezoeker een nieuwsbericht bekijkt. Morgen gaan we ervoor zorgen dat beheerders (en/of hoofdredacteurs) een e-mail krijgen wanneer een redacteur een factuur heeft geplaatst.

Laatst gewijzigd op: