
Ubercart is een module voor een online winkel in Drupal. Misschien zijn er op dit moment (vanaf 16 april) nog niet genoeg modules beschikbaar voor Drupal Ubercart 8.x, maar binnenkort zullen die verschijnen en zal het mogelijk zijn om een winkel te bouwen op Drupal 8 in plaats van op Drupal 7.
https://www.drupal.org/project/ubercart
De volgende functionaliteit is beschikbaar in Ubercart:


Ubercart wordt geïnstalleerd als een gewone module:
Het eerste blok met modules is verplicht voor installatie:


Om een categoriecatalogus in je winkel op Ubercart te hebben, moet je de module Catalog inschakelen:
Voordat je de module Catalog inschakelt, is het beter om meteen de modules Product, Store en Country te activeren.


Alles wat we eerder hebben besproken, leek op de vorige versies van Drupal. Maar met de verdere ontwikkeling is alles veranderd. Hoewel Drupal er visueel hetzelfde uitziet als Drupal 7, bestaat het intern uit Symfony-componenten, eigen componenten en vele bibliotheken. Daarom moet je nu werken met het nieuwe plug-insysteem en met objectgeoriënteerd programmeren (OOP) in PHP.


In dit artikel zullen we geen code schrijven, maar ons voorbereiden op het schrijven van code. Hiervoor gaan we Drush installeren. Drush is een console-hulpprogramma waarmee je veel routinetaken in Drupal kunt uitvoeren: modules bijwerken, configuraties uploaden/downloaden, back-ups maken en nog veel meer.
Als je Open Server gebruikt als webserver voor ontwikkeling, dan is deze instructie geschikt voor jou:


Dit artikel is bedoeld om je vertrouwd te maken met Drupal; we zullen later codevoorbeelden schrijven, nadat we onze eigen aangepaste module hebben toegevoegd.


Laten we beginnen met het maken van onze module met een beetje structuur. We gaan verder met het scheiden van aangepaste (custom) en bijgedragen (contrib) modules. In Drupal bevinden modules zich in de map /modules. Nu hoeven we ze niet meer diep in /sites/all/modules te plaatsen; hoewel de readme zegt dat dit zou moeten werken, gebruik toch de map /modules. Binnen de map /modules maken we twee mappen aan: custom en contrib. De map contrib zal extra modules van drupal.org bevatten, en onze eigen modules zullen in de map custom worden opgeslagen.
Engelse ondertiteling:


In deze les breiden we de mogelijkheden van onze module uit en creëren we content die alleen beschikbaar zal zijn voor geregistreerde gebruikers of gebruikers met een specifieke rol.
Codevoorbeelden kunnen worden bekeken op github:
https://github.com/levmyshkin/drupalbook8
Laten we beginnen met het toevoegen van een nieuw YML-bestand in onze drupalbook.permissions.yml modulemap:


Terwijl je de Drupal API leert, zul je vaak de belangrijkste documentatie moeten raadplegen op https://api.drupal.org. Dit is de automatisch gegenereerde Drupal documentatie. Het bevat alle informatie over elke functie, klasse, methode, waar ze zijn gedefinieerd, waar een korte beschrijving wordt gebruikt. Ook op deze site is er API-hulp, ik raad je aan om met elk van de secties vertrouwd te raken:


We kunnen de parameters in de URL gebruiken voor routes. Ze werken net zoals contextuele filters in Views. We kunnen bijvoorbeeld de ID van verschillende entiteiten, tekststrings of opeenvolgende ID's gescheiden door komma's of plussen in de URL doorgeven. In deze les zullen we de ID van de node doorgeven en de titel en inhoud van deze node weergeven in de content.
Codevoorbeelden kunnen worden bekeken op github:
https://github.com/levmyshkin/drupalbook8
