Modul:Lagerampel
Lagerampel
Anleitung zum Einbau einer Lagerampel in die ECB
Um eine Produktanzeige in der ECB zu realiseren genügt es die Templates entsprechend anzupassen.
Rahmenbedingungen
Wir möchten eine Lagerampel realisieren die bei einem Lagerbestand von 0 rot, bis 2 gelb und ab 3 Stück grün anzeigt.
Änderungen für die einfache Lagerampel
Hierfür folgendes an passender Stelle in der Datei snippets/product_item_listing.html ergänzen:
{if $item.PRODUCTS_QUANTITY > 3} green {elseif $item.PRODUCTS_QUANTITY > 0} yellow {else} red {/if}
Für die anzeige der Lagerampel beim Produkt ist die entsprechende Produkt-Darstellung zu bearbeiten, z.B. module/product_info/product_info_v1.html Hier wird die Anzeige über folgenden Code realisiert
{if $PRODUCTS_QUANTITY > 3} green {elseif $PRODUCTS_QUANTITY > 0} yellow {else} red {/if}
Limit über das Backend
Du möchtest das Limit (von gelb auf grün) im Backend komfortabel einstellen können, auch das ist mit der ECB ohne modifizierung der core-Dateien möglich!
Im Backend gibt es unter Konfiguration->Artikel Listen Optionen. Hier würde ich vorschlagen bauen wir das Element ein, da es für die Produkt-Darstellung selbst keine stelle gibt. Die Url des o.g. Admin-Menus enthält den parameter "gId=8", diese benötigen wir um das Element in der DB anzulegen.
Das Menu-Element soll "PRODUCT_TRAFFIC_LIGHT_GREEN" heißen und in der Liste oben erscheinen (sort_order=1)
insert into configuration (configuration_key, configuration_value, configuration_group_id, sort_order, date_added) values ('PRODUCT_TRAFFIC_LIGHT_GREEN', '3', 8, 1, now())
Nun wird es schon angezeigt, jedoch fehlen noch die entsprechenden Texte. Öffne oder erstelle die Datei "templates/DeinTemplate/lang/german/admin/configuration.php"
Wenn Du die Datei erstellt hast beginne sie mit '<?php' in der ersten Zeile.
Füge in die Datei die nötige Beschreibung ein:
define('PRODUCT_TRAFFIC_LIGHT_GREEN_TITLE', 'Lagerampel Schwellwert Grän'); define('PRODUCT_TRAFFIC_LIGHT_GREEN_DESC', 'Lagervorrat der überschritten werden muss damit die Lagerampel auf grün springt');
Nun kannst Du in den Template-Dateien den Wert "3" durch den Ausdruck $smarty.const.PRODUCT_TRAFFIC_LIGHT_GREEN ersetzen
{if $PRODUCTS_QUANTITY > $smarty.const.PRODUCT_TRAFFIC_LIGHT_GREEN}
Ensprechend kannst du den Schwellwert für rot->gelb im Backend definieren.