Im vorherigen Tutorial haben wir mit b4um:scaffold eine vollständige Produktverwaltung erstellt.
Unser Product besitzt die Felder:
name
description
price
status
und wir haben bereits mehrere Testprodukte angelegt.
Jetzt verwenden wir genau diese Produktverwaltung weiter. Diesmal erstellen wir keine neuen Daten und auch kein neues Model. Stattdessen beschäftigen wir uns ausschließlich mit der Darstellung unserer vorhandenen Produkte.
Der b4um Generator bietet dafür vier verschiedene Layouts:
grid
list
alternating
bento
So können wir für eine bestehende Ressource unterschiedliche Darstellungen ausprobieren und das Layout auswählen, das am besten zum jeweiligen Projekt passt.
Für dieses Tutorial verwenden wir:
b4um_generators 0.1.0
Der b4um Bento Generator
Für eine bereits vorhandene Ressource können wir den Bento-Generator verwenden:
bin/rails generate b4um:bento Product
Wichtig ist dabei:
Product muss bereits existieren.
Außerdem benötigt der Generator das vorhandene Resource-Partial:
app/views/products/_product.html.erb
Beides haben wir bereits durch unser Scaffold aus dem vorherigen Tutorial.
Der Bento-Generator erstellt keine neue Datenbankmigration, keine neuen Routes und keinen zusätzlichen Controller.
Er kümmert sich um die Darstellung unserer vorhandenen Produkte.
Wo wird das Layout erzeugt?
Der Generator erstellt das wiederverwendbare Partial:
app/views/products/_bento.html.erb
Dieses können wir anschließend beispielsweise aus unserer Index-Seite aufrufen:
<%= render "bento", products: @products%>
Dabei wird die vorhandene Collection @products an das Partial übergeben.
Der Generator verändert also nicht unsere Produktdaten. Wir stellen dieselben Datensätze lediglich auf unterschiedliche Weise dar.
1. Grid – das Standardlayout
Wir beginnen mit dem Grid-Layout.
Dafür können wir einfach ausführen:
bin/rails generate b4um:bento Product
Denn Grid ist das Standardlayout des Bento-Generators.
Da bereits ein _bento.html.erb vorhanden ist, achten wir jetzt genau auf die Ausgabe des Generators.
Wenn Rails fragt, ob die vorhandene Datei ersetzt werden soll, prüfen wir zunächst, ob sie eigene Änderungen enthält.
Für unsere Tutorial-Testanwendung möchten wir bewusst das nächste Layout ausprobieren. Deshalb darf das bisherige generierte Layout durch die neue Variante ersetzt werden.
Wie sieht List aus?
list verwendet eine kompaktere horizontale Darstellung.
Statt eines Kartenrasters stehen die einzelnen Datensätze stärker untereinander.
Dadurch entsteht ein stärker gestalteter, rhythmischer Seitenaufbau.
Auf mobilen Geräten wird daraus automatisch eine einspaltige Darstellung.
Dieses Layout eignet sich besonders für Inhalte, die etwas großzügiger präsentiert werden sollen und bei denen nicht möglichst viele Einträge gleichzeitig sichtbar sein müssen.
Beim Alternating-Layout wechselt der Aktionsbereich zwischen den Seiten und erzeugt dadurch eine abwechslungsreiche Darstellung.
4. Bento – das klassische Bento-Design
Zum Schluss kommen wir zum klassischen Bento-Layout.
Dafür müssen wir die Variante ausdrücklich angeben:
Wir verwenden Cookies, um Inhalte und Anzeigen zu personalisieren,
Funktionen für soziale Medien anbieten zu können und die Zugriffe auf
unsere Website zu analysieren.
Sie akzeptieren unsere Cookies, wenn Sie fortfahren diese Webseite zu
nutzen.
Datenschutzerklärung.