Ändern Sie die Farbe der „Verfügbarkeit: auf Lager“ abhängig von der Menge der Aktie?
-
16-10-2019 - |
Frage
Ich habe die Farbe der "Verfügbarkeit: in Lager" in Grün verändert, aber ich möchte die Farbe "Verfügbarkeit: auf Lager" ändern. Zum Beispiel
Wenn die Produktmenge> 5 und die Produktmenge <10, möchte ich "Verfügbarkeit: auf Lager" in Orange färben
Wenn die Produktmenge> 5 und die Produktmenge <10, möchte ich "Verfügbarkeit: in Lager" in Grün färben
Lösung
Sie können das verfügbare Qty so erhalten
$qty = $_product->getStockItem()->getQty();
Aber du musst vorsichtig sein. Sie können Produkte haben, bei denen die obige Linie 0 zurückgibt, aber das Produkt ist auf Lager, weil Manage stock
ist eingestellt auf No
.
Um diese Verwendung zu überprüfen:
$manageStock = $_product->getStockItem()->getManageStock();
$manageStock = $_product->getStockItem()->getManageStock();
if (!$manageStock) {
$color = 'green'; //forever in stock
}
else {
$qty = $_product->getStockItem()->getQty();
if ($qty < 5){
$color = 'red';
}
elseif ($qty < 10) {
$color = 'orange';
}
else {
$color = 'green';
}
}
BEARBEITEN
Ändern Sie nun das Element, das die Verfügbarkeit darstellt:
<p class="availability in-stock <?php echo $color?>">
und fügen Sie dies Ihrer CSS -Datei hinzu
p.green{color:green}
p.orange{color:orange}
p.red{color:red}
Hinweis: Dies funktioniert für einfache Produkte.