Ingo_G hat geschrieben:Vielleicht könntet ihr die Funktion noch mit einbauen, dass bei keinem Lagerbestand der Warenkorb ausgeblendet werden kann.
Hallo Ingo,
die Funktion, das Mengeneingabefeld eines Produktes auszublenden wenn das Produkt nicht mehr auf Lager ist, gibt es bereits. Im Produktdarstellungstemplate gibt es die Produkteigenschaft „_stockIsInsufficient“. Diese Eigenschaft ist true, wenn das Produkt einerseits einen Lagerbestand von kleiner/gleich 0 hat und andererseits die Einstellungen zu Lieferzeit und Lagerbestand für das Produkt festlegen, dass der Lagerbestand berücksichtigt werden soll.
Durch eine einfache if-Bedingung lässt sich nun im Template (z. B. template_productDetails_01) das gewünschte Verhalten realisieren.
Die Stelle, an der das Mengeneingabefeld eines Produktes ausgegeben wird, sieht zunächst so aus:
- Code: Alles auswählen
<?php echo $this->objProduct->_quantityInput; ?>
Und kann einfach so abgeändert werden:
- Code: Alles auswählen
<?php if (!$this->objProduct->_stockIsInsufficient) { ?>
<?php echo $this->objProduct->_quantityInput; ?>
<?php } ?>
Für Varianten steht die selbe Möglichkeit zur Verfügung, in template_productDetails_01 wird dann bei der Variantendarstellung also folgendes verwendet:
- Code: Alles auswählen
<?php if (!$this->objProduct->_selectedVariant->_stockIsInsufficient) { ?>
<?php echo $this->objProduct->_selectedVariant->_quantityInput; ?>
<?php } ?>
Konkret wird hier also geprüft, ob der Lagerbestand nicht ausreichend ist und nur wenn das nicht der Fall ist, wird das Mengeneingabefeld ausgegeben.
In den Templates kann übrigens sehr, sehr viel erledigt werden - sofern man die dort verfügbaren Produkteigenschaften kennt. Darüber können i.d.R. auch die speziellsten Ideen realisiert werden. Schau einfach mal in das Template „template_productDetails_01“ rein und nutze die ganz oben im Quellcode vorbereitete Möglichkeit, die Produkteigenschaften anzuzeigen, indem Du den entsprechenden Code-Bereich „einkommentierst“ (siehe auch im Online-Handbuch). Mit dieser Methode erhältst Du sehr viele hilfreiche Infos.
- Code: Alles auswählen
<?php
// use this to show the available ouput options:
/* */
echo $this->objProduct->_outputOptions;
/* */
/* *
foreach ($this->objProduct->_variants as $variant) {
echo $variant->_outputOptions;
}
/* */
?>