Les 7

Instap

Pas even de header aan van het thema en zorg ervoor dat er geen websitenaam en slogan te zien is.

CSS en views: schilderijen

Ons eerste overzicht in de vorige les bestond uit het tonen van de verschillende schilderijen onder elkaar. We hadden daarbij ook de titel en een stuk tekst gezet. Kijk je nu naar dat resultaat dat kan je stellen dat dit mooier kan wat betreft het uitzicht. In dit stuk bespreken we de verschillende opties.

  1. Download HIER de nodige code.
  2. Maak een nieuwe CSS regel aan op basis van vorige stap.
  3. Wanneer je de vorige stap tot een goed einde hebt gebracht dan heb je dus een nieuwe CSS-regel staan. Deze doet echter niets als je deze niet toepast op het overzicht.
  4. Ga achter de schermen van het overzicht en koppel de verschillende classes aan het juiste veld. De naam van deze classes werden zelf bepaald bij het schrijven van de code. De truc is om deze nu te typen bij het juiste veld ZONDER puntje. Voor het veld afbeelding zou dat zijn:

CSS en views: schilders

Vooraf

Zorg ervoor dat er in het hoofdmenu geen losse schilders en schilderijen te zien zijn. Home, schilders en schilderijen is meer dan voldoende.

Afbeeldingsstijl

We hadden het eerder al opgemerkt dat de afbeeldingen van de schilders niet dezelfde afmetingen hebben ondanks onze instellingen (Miniatuur, Gemiddeld, Large). De reden hiervoor is dat de afbeeldingen in verhouding worden aangepast. Kies je bijvoorbeeld Large (480x480) dan wordt 1 zijde op 480px gezet en past de andere zijde zich in verhouding aan, dus niet per definitie 480px. We maken een nieuwe stijl aan specifiek voor onze schilders

We gebruiken hier voor de eerste maal Converteren. Straks gaan we met CSS de hoeken afronden. Wanneer je niet converteert naar PNG dan zal je de rechte hoeken blijven zien als je bijvoorbeeld de achtergrond van de body gaat aanpassen.

Detail

Wat mij hier stoort is het feit dat alle foto's van de schilders zwart-wit zijn behalve eentje. Zorg dat je bij Van Gogh de volgende foto toevoegt:

Wanneer je vervolgens naar het overzicht gaat kijken dan zie je geen verandering. De reden hiervoor is de volgorde. Eerder bepaalde je dat je de eerste foto wil vertonen, startende van 0. Dan moet je uiteraard jouw favoriete foto op de eerste plaats gaan zetten bij de node:

--> je doe doet dit met de grijze kruisjes voor de afbeeldingen

CSS

Op dit moment is het overzicht qua uitzicht nog niet alles. Met de nodige CSS passen we dit aan. Als je goed kijkt op dit overzicht dan zie je enkele onderdelen:

  • De titel
  • De afbeelding
  • De tekst
  • Het gehele raster

Voor elke onderdeel passen we CSS toe. Deze worden hieronder in aparte onderdelen besproken maar alles van code steek je uiteindelijk in één regel: CSS overzicht schilders

De titel

We willen de titel groter en in een andere kleur. De code hiervoor is niet zo moeilijk:

  • De benaming van de classe bepaalde ik zelf
  • De kleur is hier benoemd, maar kan evengoed een HEX-code zijn
  • De grote van de tekst is uitgedrukt in punten

De afbeelding

Graag ronde hoeken:

  • Als het gaat over een afbeelding moet je duidelijk bij de klasse noteren vandaar 'img'
  • Met radius wordt de straal bedoelt van de afronding
  • Door de marge aan de top plakken ze niet meteen tegen elkaar

De tekst

De tekst is breed uitgesmeerd onder de foto, beter zou zijn om deze even breed te maken als de afbeelding:

BELANGRIJK!

  • We werken hier niet met een aangemaakte klasse maar spreken hier rechtstreeks de klasse paragraaf aan (p). Als we dit hier niet binnen te perken houden dan wordt dit toegepast op alle paragrafen op onze site. Geloof mij, dat zijn er veel. Daarom gaan we deze CSS regel enkel laten gelden wanneer de bezoeker de pagina van de schilders bekijkt. Dit kan je onderaan de CSS-regel instellen:

Het gehele raster

Een laatste optie om ons overzicht wat te verfraaien is het centreren van de inhoud in ons raster.

  1. Open opnieuw de instellingen van het overzicht
  2. Klik nu op instellingen naast raster bij het formaat:

  1. Vervolgens vul je bij Aangepaste kolom-klasse de klasse views-align-center in. Dit zal ervoor zorgen dat alles netjes gecentreerd wordt. Dit is iets dat je niet zomaar kan uitvinden. Dergelijke klasses bestaan. De truc is om deze vanaf nu te onthouden...

  1. Sla alles op en bekijk het resultaat.
  2. Helaas, de tekst staat hierdoor niet meer mooi onder de foto. Dit heeft te maken met de instelling van de marges. We willen dat dit gewoon automatisch gebeurd. Hiervoor pas je even de CSS aan:

Filtercriteria toevoegen

Deze oefening maken we in het overzicht van de schilderijen. Eerder hadden wij bij elk schilderij ook de kunststroming toegevoegd. Leuk zou dus zijn moest de bezoeker van de site een kunststroming kan selecteren en vervolgens enkel die schilderijen ziet. Dat kan dus!

  1. Open de instellingen van het overzicht schilderijen
  2. We voegen eerst het veld kunststroming toe. Kies daarvoor bij de velden 'Toevoegen'

Bij Search kan je vervolgens zoek naar het juiste veld:

  1. Vink Kunststroming aan en pas toe
  2. Bij de instellingen passen we twee zaken aan:
  3. Bij de stijlinstellingen pas je de HTML van het veld aan naar H5

Dit keer gaan we ook de resultaten herschrijven. De bedoeling is dat er bij elk schilderij de zin verschijnt: 'De kunststroming hier is <naam kunststroming>. Dat is aangenamer dan niets of het gebruik van een label:

  1. Klik Resultaten herschrijven open
  2. Zet een vink bij Uitvoer van dit veld herschrijven.
  3. Bij Tekst kan je nu schrijven wat je wilt. Je gaat namelijk de uitvoer herschrijven. Typ hier de zin 'De kunststroming hier is'.
  4. Om vervolgens telkens de juiste stroming te zien moet je de Vervangingspatronen gebruiken. Kopieer hier {{ field_kunststroming }} en plak dit achter de zin (vergeet de spatie niet)
  5. Sla dit geheel vervolgens op

  1. Het resultaat kan tegenvallen. In mijn geval stond het nieuwe veld half verborgen achter de titel van het schilderij. Probeer dit even zelf op te lossen aan de hand van volgende tips:
    1. Nieuwe klasse aanmaken
    2. Marges juist instellen
    3. Nieuwe klasse koppelen
    4. Alles plaats je in de bestaande CSS-regel van de schilderijen

Merk hier ook op dat de naam van de stroming als link wordt getoond. Bekijk even het overzicht op de site en klik op een link. Plots zie je enkel de schilderijen van die stroming. Let wel. Dit is nog steeds niet onze aanpasbare filter! Deze passen we hieronder toe:

  • Open de instellingen van het overzicht
  • Bij filtercriteria klik je op Toevoegen

  • Zoek in het Search-veld naar het juiste veld en vink aan, gevolgd door een klik op filtercriteria toevoegen en instellen

We stellen deze filter nu stap voor stap in.

  • Kies eerst voor een Keuzelijst, dat is aangenamer voor de gebruiker. Merk hier ook op dat je nu de juiste woordenlijst moest hebben (Taxonomie)

  • In het volgende venster bepalen we dat deze filter door de bezoeker gebruikt kan worden:

  • Een beetje lager pas je ook het label aan, dat is hetgeen dat verschijnt bij de filter, zichtbaar voor de gebruiker:

  • Sla nu alles op, ook het overzicht en test uit!

Je zal merken dat dit beter kan. De filter werkt wel maar de knop Apply is zeer storend. En dit los van het feit dat hij overlapt met de titel. We willen namelijk dat wanneer er een stroming wordt gekozen deze automatisch de pagina aanpast. Helaas is dit nog steeds niet mogelijk in Drupal 8. Gebruik je Drupal 7 dan is dit geen enkel probleem. We wachten geduldig af.

--> Aan jullie om de knop Apply nu mooi weer te geven. Uiteraard gaat het hier over margin-bottom maar welke klasse dien je aan te spreken? Ga je dit op alle pagina's toepassen?

Uitsmijter

Het is tegenwoordig een Europese richtlijn: het melden van het gebruik van Cookies. Hier bestaan veel verschillende modules voor. Ik bespreek er eentje:

  1. Installeer en activeer de module
  2. Maak een pagina aan waar je de gebruiker naartoe stuurt als ze klikken op 'ik wens meer informatie'
  3. Ga naar de instellingen van de module

  1. Bij de instellingen hoef je maar twee zaken zeker te doen:

Zet een vink bij Pop-up tonen

Geef de URL in waarin jouw cookie-beleid staat uitgeschreven