Shop Support News Archive - Shopbetreiber News -> Forum : erledigt [x] Lagerampel einbauen
dima-office
14.01.2010, 22:40
Hi,
ich möchte in die Product Listing und in die Product Info eine Lagerampel einbauen. Ich habe jetzt mehrere Möglichkeiten mir angeschaut. Manche lösen es ja über eine If Abfrage, andere über ein Modul beispielsweise Imedes Lagerampel.
Ich denke wen ich nur eine einfache Lagerampel ohne zusätzliche Funktionen einbauen möchte dann wäre es über die htmls am einfachsten? Oder denk ich falsch?
Was mir jetzt auch noch nicht ganz klar ist wie diese Anweisungen aussehen müssten wenn es drei Zustände gäbe. beispielsweise:
Bestand gleich 0 -> rote Ampel
Bestand 1-5 -> gelbe Ampel
Bestand grösser 5 -> grüne Ampel
Kann mir vieleicht jemand helfen. Wäre verdammt nett, bin grad ein bisserle am verzeifelen und noch etwas grün hinter den Ohren was ECB betrifft
Viele Grüße Reiner
dima-office
14.01.2010, 23:35
Meine Versuche gingen jetzt in die Richtung. in der itemProdListing.html mit dem CSS-SHOP-TEMPLATE KOSTENLOS FÜR ECB SEO SHOP 1.x uas dem Downloadbereich von Ecombase
<div class="Text">
<table width="100%">
<tr>
<td width="60" rowspan="2">
{if $PRODUCTS_QUANTITY >= '5'}
<img src="{$tpl_path}images/icons/ampel_gruen.jpg" />
{/if}
{if $PRODUCTS_QUANTITY <= '4' and $PRODUCTS_QUANTITY >= '1'}
<img src="{$tpl_path}images/icons/ampel_gelb.jpg" />
{/if}
{if $PRODUCTS_QUANTITY <= '0'}
<img src="{$tpl_path}images/icons/ampel_rot.jpg" />
{/if}
Allerdings kommt weder die Ampel noch eine Fehlermeldung.
Hilfe !!!!
Viele Grüße Reiner
Hallo Rainer,
sieht ja eigentlich ganz gut aus, in deinem Post fehlt das Ende der Tabelle und der </div>. Das hast du bei dir im html schon drin oder?
Gruß
Kito
Hi,
in der ECB wird das Listing der Produkte über die template Datei
templates/DeinTemplate/snippets/products_listing_item.html ausgegeben. Da funktioniert folgender Code:{if $item.PRODUCTS_QUANTITY > 5}
green
{elseif $item.PRODUCTS_QUANTITY > 0}
yellow
{else}
red
{/if}
Hab mal ne Wiki-Seite dazu angelegt:
http://wiki.webs.de/index.php/Modul:Lagerampel
dima-office
15.01.2010, 10:58
Super hat jetzt funktioniert. Ganz lieben Dank sag ich da mal.
Der Code der funktioniert hat in der ItemProductListing.html sieht folgendermassen aus:
{if $product.PRODUCTS_QUANTITY >= 5}
<img src="{$tpl_path}images/ampel_gruen.jpg" />
{elseif $product.PRODUCTS_QUANTITY > 0}
<img src="{$tpl_path}images/ampel_gelb.jpg" />
{else}
<img src="{$tpl_path}images/ampel_rot.jpg" />
{/if}
Viele Grüße Reiner
Welche Template-Basis benutzt Du?
ergänze es bitte im 1. Beitrag!
dima-office
15.01.2010, 11:17
HI du, das habe ich im ersten Beitrag mit drin stehen. Ist das Template hier von Ecombase aus dem Downloadbereich. Wie es allerdings richtig heisst weiss ich nicht.
Das steht drüber:
SHOP SUPPORT: FREE ECB SEO SHOP - CSS TEMPLATE 4YOU !
MERH ERFOLG: CSS-SHOP-TEMPLATE KOSTENLOS FÜR ECB SEO SHOP 1.x
Ich glaube es ist template 001
Viele Grüße Reiner
ludichef
18.01.2010, 15:55
Hi,
ich bekomm es nach der Anleitung leider nicht hin, stehe irgendwo auf schlauch.
Im Produkt_Info wird die Ampel ignoriert und immer nur der Status ohne Bedingung angezeigt. Ich kenne das noch von meinem Gambio, dort musste ich in Produkt_Info.php noch reinschreiben das die Lagerbestände immer abgrufen werden können.
Aber im ECB ist das anders aufgebaut und ich finde das nicht mehr. Aber so wie ich das überschaun konnte stehen die Lagerbestände dem Template immer zum abruf bereit. Funktionieren tut es nicht.
Ich nutze im Grunde das Gunnart Template. Weiss jemand woran das liegen könnte?
Gruß,
Christopher
dima-office
18.01.2010, 16:20
Hallo Christopher,
versuch mal den folgenden Code. Hab zwar nicht das Template von Gunnart, aber das funzt bei mir mit dem Template 001
{if $PRODUCTS_QUANTITY >= 5}
<img src="{$tpl_path}images/ampel_gruen_mittel.jpg" />
{elseif $PRODUCTS_QUANTITY > 0}
<img src="{$tpl_path}images/ampel_gelb_mittel.jpg" />
{else}
<img src="{$tpl_path}images/ampel_rot_mittel.jpg" />
{/if}
Viele Grüße Reiner
ludichef
18.01.2010, 16:43
Die Lagermapel ist schon eingebaut und nach meinen Vorstellung angepasst und ich hab schon erfahrung damit. Hab damals für Gambio eine Anleitung geschrieben.
Aber es will einfach nicht in der Produkt_Info gehn. Und in Gambio gabs damals auch so ne kleine hürde in includes/modules/product_info.php. Ich vermute hier ebenfalls sowas aber ich habe nix gefunden.
PS: Ich bin echt nicht blöd, denn in Produkt_listing geht es ja.
dima-office
18.01.2010, 17:17
Hab mir das Template von Gunnart grad mal hocgeladen und ausprobiert. Mit dem Code den ich dir eben geschickt habe funktioniert die Ampel problemlos.
Stell mal ein wie dein Code aussieht?
Viele Grüße Reiner
ludichef
18.01.2010, 17:24
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>
<body>
<table width="550" height="1" border="0">
<tr>
<td height="1"><table width="550" border="0">
<tr>
<td width="400" height="1"><table width="400" border="0">
<tr>
<td><strong>{$PRODUCTS_NAME} </strong></td>
</tr>
<tr>
<td> {if $PRODUCTS_MODEL!=''}{#model#}{$PRODUCTS_MODEL}<br />
{/if}</td>
</tr>
</table></td>
<td width="160"><div align="right">{#print#}{$PRODUCTS_PRINT}</div></td>
</tr>
</table></td>
</tr>
<tr>
<td height="1"><table width="550" border="0">
<tr>
<td width="1" height="1">
<a href="{$PRODUCTS_IMAGES.0.original}" title="{$PRODUCTS_NAME}" class="thickbox"><img src="{$PRODUCTS_IMAGES.0.thumbnail}" alt="{$PRODUCTS_NAME}" />
{if $PRODUCTS_IMAGE_LINK!=''}<a href="{$PRODUCTS_IMAGE_LINK}" onclick="window.open(this.href); return false;">{$PRODUCTS_TEXT_ZOOM}</a><br />
{/if}
{if $PRODUCTS_FSK18=='true'}
<br />
<img src="{$tpl_path}img/fsk18.gif" alt="" />
{/if}
{if $MODULE_graduated_price !=''} {$MODULE_graduated_price}<br />
<br /><br />{/if}
</td>
<td width="1"><p>{$PRODUCTS_PRICE}
{$PRODUCTS_TAX_INFO} {get_shipping_link}
</p>
{if $SHIPPING_NAME}
<table width="330" border="0" cellpadding="0" cellspacing="0">
<tr valign="middle">
<td class="main">Lieferstatus:</td>
{if $SHIPPING_IMAGE}<td><img src="{$SHIPPING_IMAGE}" alt="{$SHIPPING_NAME}" /></td>
{/if}
<td class="main" width="200"><div align="left">
{if $product.PRODUCTS_QUANTITY > 1}
{$SHIPPING_NAME}
{else}
Ausverkauft
{/if}
</div></td>
</tr>
</table>
<p>{/if}</p>
<table width="250" border="0">
<tr>
<td>{$FORM_ACTION}
{if $MODULE_product_options !=''}{$MODULE_product_options}<br />
{/if} </td>
</tr>
</table>
<p> </p>
<p>
{if $product.PRODUCTS_QUANTITY > 0}
<table width="1" border="0">
<tr>
<td class="main" valign="middle"><table width="100" border="0">
<tr>
<td>{$ADD_QTY}</td>
<td>{$ADD_CART_BUTTON} <!-- JS ADD Button{$ADD_WISHLIST_BUTTON_JS}--></td>
</tr></table></td>
</tr>
</table>
{else}
{/if}
{$FORM_END}
{$FORM_ACTION_WISHLIST}
{$ADD_WISHLIST_BUTTON}
{$FORM_END_WISHLIST}
</td>
</tr>
</table></p>
<p> </p>
<table width="550" border="0">
<tr>
<td>{if $PRODUCTS_DESCRIPTION !=''}{$PRODUCTS_DESCRIPTION}
{/if}</td>
</tr>
<tr>
<td><span class="morePics">{foreach from=$PRODUCTS_IMAGES item=IMG name=product_images}
{if !$smarty.foreach.product_images.first}
{strip} <a href="{$IMG.popup}" title="{$PRODUCTS_NAME}" class="thickbox"> <img src="{$IMG.info}" alt="{$PRODUCTS_NAME}" /> </a> {/strip}
{/if}
{/foreach}</span></td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
<tr>
<td> {if $MODULE_products_reviews}{$MODULE_products_reviews }{/if} {if $MODULE_products_media}{$MODULE_products_media}{/if} {if $MODULE_cross_selling}{$MODULE_cross_selling}{/if} {if $MODULE_reverse_cross_selling}{$MODULE_reverse_cro ss_selling}{/if} {if $MODULE_also_purchased}{$MODULE_also_purchased}{/if}</td>
</tr>
</body>
</html>
Sieht bei mir so aus. Aber ich habe zum test auch schon einfach direkt deine Version eingefügt und hat trotzdem nicht funktioniert.
dima-office
18.01.2010, 18:06
Mach mal aus dem
{if $product.PRODUCTS_QUANTITY > 1}
das folgende
{if $PRODUCTS_QUANTITY > 1}
war bei mir auch erst der Fehler. Da unterscheidet sich die Product_listing von der product_info
ludichef
18.01.2010, 18:18
Ahh danke,
daran hatte ich nicht mehr gedacht.
Jetzt geht alles.
dima-office
18.01.2010, 18:19
na super dann ist ja alles in butter
dima-office
26.01.2010, 23:38
Hallo daniel,
was willst denn genau machen? Wenn du nur ne Lagerampel in deinem Shop einbauen möchtest kannst den Code verwenden den ich weiter oben drin habe. Da wird dann anhand deines lagerbestandes die Ampel entsprechend dargestellt. In meinem Fall war das ab 5 ist grün 1-4 ist gelb und 0 ist rot. Die Werte kannst aber natürlich ändern. Das ganze baust dann in die product_info.html ein bzw. product_listing.html
Das was du oben drin hast ist wenn du die werte übers backend zum einstellen, aber bin ehrlich gesagt auch nicht ganz schlau draus geworden. Aber wie gesagt für ne einfache lagerampel musst das auhc nicht unbedingt einbauen
Viele Grüße Reiner
dima-office
26.01.2010, 23:46
Habs mir jetzt mal in der Wiki angeschaut. Das ist der SQL Code der in der Datenbank eingefügt werden muss damit es im Backend dargestellt werden kann
Viele Grüße Reiner
Warum liest Du nicht im Wiki Modul Lagerampel (http://wiki.ecb-shop.de/index.php/Modul:Lagerampel) weiter?
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 erreicht werden muss damit die Lagerampel auf grün springt');
ist doch eigentlich verständlich, oder?
vBulletin® v3.8.4, Copyright ©2000-2012, Jelsoft Enterprises Ltd.