Ich hab mir für meinen Testshop ein Plugin geschrieben, das auf Basis der Artikel-ID des aufgerufenen Varianten-Artikels…
- ordernumber, id, additionaltext, active, instock, laststock und releasedate aus der Tabelle s_articles_details
- option_id aus der Tabelle s_article_configurator_option_relations
- name und group_id aus der Tabelle s_article_configurator_options
- name aus der Tabelle s_article_configurator_groups
abfragt und schleßlich mit $view->assign
in frontend/detail als Array zur Verfügung stellt.
Mein Template /shop-url/custom/plugins/JoReuDetailVariantList/Resources/views/frontend/detail/tabs/description.tpl
erweitert dann den Block frontend_detail_description_text
, indem nach dem obligatorischen {$smarty.block.parent}
abgeprüft wird, ob es sich um einen Varianten-Artikel handelt - und falls ja, dann erzeugt das Template mittels Daten aus dem Plugin-Array eine Tabelle , die sämtliche verfügbare Varianten-Kombinationen enthält.
Tabellen-Spalten: | AdditionalText | Bestellnummer | Varianten-Option1 | Varianten-Option2 | u.s.w. | Button zum Auswählen der Variante |
Auf die Bestellnummer könnte wohlmöglich verzichtet werden, aber Hinweise wie AdditionalText und zum Beispiel auch das Verfügbarkeits-Datum sind an dieser Stelle doch nette Informationen.
Ebenso könnte man, unter Berücksichtigung der Kundengruppe, sicherlich noch die Preise der Varianten hinzufügen und statt der simplen Auswahl direkt auch den Warenkorb-Button einsetzen.
Die Fragen, die ich mir stelle:
- a) Ist so eine Tabelle eine sinnvolle Ergänzung, unterhalb der Beschreibung - aber auch ganz grundsätzlich?
- b) Lässt sich das auch ohne den Array aus dem Plugin, einzig durch das Template, lösen?
- c) Welche Informationen müssen zwingend in so einer Tabellen-Zeile stehen, um zum Beispiel der PAngV gerecht zu werden, wenn ein Produkt hier direkt in den Warenkorb gelegt werden kann?
- c.2) Macht es dann vielleicht auch Sinn ein Dropdown-Feld anzulegen für die Auswahl der Menge?
- d) Gibt es vielleicht schon Plugins, die solche Tabellen generieren?
Ich würde mich sehr freuen, Meinungen aus der Praxis zu lesen.
Der Aufwand ist hier nicht besonders groß. Ein Plugin -Verzeichnis mit den Unterordnern bis zum Template und mit gerade mal 4 Dateien :
- Plugin-PHP JoReuDetailVariantList
- plugin.png
- plugin.xml
- Template-TPL description
Unter Enlight_Controller_Action_PostDispatch_Frontend_Detail => onFrontendDetail
auch nur 1 createQueryBuilder
.
Und das Template hat auch gerade mal 80 Zeilen Code.