Warnung: Alle Änderungen die ich hier poste sind zwar getestet, aber ich gebe keine Garantie darauf das sie bei jedem das gleiche Ergebnis erziehlen. Bitte macht immer vorher ein Backup und testet sie am besten in einer Testumgebung.

Ausgangssituation:

Shop verkauf Artikel Kombinationen mit der Eigenschaftenfunktion.

Fehler vom Shop:

Bei der Überprüfung ob nach einer Bestellung die Lieferzeit/-status geändert werden soll, wird auschließlich der Bestand des Artikel-Vaters geprüft und nicht ob es noch Aktikelkombinationen gibt.

Auswirkung des Fehlers:

Der Shop Zeigt einen Artikel z.B. als "nicht mehr verfügbar" obwohl es noch Kombinationen vom Artikel gibt. Dieser Fehler zwigt sich im Shop jedoch nur, wenn der Lieferstatus des Artikels und nicht der Kombination angezeigt wird. Zudem sieht man den falschen Lieferstatus auch beim Ausdrucken der Bestellung.

Das Snippet bewirkt:

Beim der Prüfung des Restbestandes wird auch geprüft, ob es noch mindestens eine Kombination mit dem notwendigen Lagerbestand gibt.

//Betroffene Dateien:
Code:
root\checkout_process.php
root\gm\inc\set_shipping_status.php
// Öffne : root\checkout_process.php
// und suche:
Code:
BOF GM_MOD products_shippingtime:
set_shipping_status($order->products[$i]['id']);
// Ersetze es mit:
Code:
// Shippingtime-Prüfung inkl. Kombinationen MOD
// Verschiebe die Zeile unter den Befehl das die Kombinationsmenge angepasst wird.
// BOF GM_MOD products_shippingtime:
// set_shipping_status($order->products[$i]['id']);
// Shippingtime-Prüfung inkl. Kombinationen MOD
// Suche:
Code:
// Aenderung Specials Quantity Anfang
// DARÜBER einfügen:
Code:
// Shippingtime-Prüfung inkl. Kombinationen MOD
// Verschoben von Zeile 325
// BOF GM_MOD products_shippingtime:
set_shipping_status($order->products[$i]['id']);
// Shippingtime-Prüfung inkl. Kombinationen MOD
// Öffne : root\gm\inc\set_shipping_status.php
// und suche:
Code:
// determine delivery time of the article
// DARÜBER einfügen:
Code:
        // Shippingtime-Prüfung inkl. Kombinationen MOD
	// Komplett hinzugefügt
	$c_products_quantity = '0';
	$c_query = "SELECT 
					max(combi_quantity) AS combi_quantity
				FROM products_properties_combis
				WHERE products_id = '" . $c_product_id . "'";
	$combi_shippingtime_query = xtc_db_query($c_query);
	if(xtc_db_num_rows($combi_shippingtime_query) == 1) 
	{
		$c_shippingtime_values = xtc_db_fetch_array($combi_shippingtime_query);
		$c_products_quantity = $c_shippingtime_values['combi_quantity'];
		
	}
	// Shippingtime-Prüfung inkl. Kombinationen MOD
//Suche
Code:
WHERE shipping_quantity >= '" . xtc_db_input($t_products_quantity) . "'
// DARUNTER einfügen:
Code:
AND shipping_quantity >= '" . xtc_db_input($c_products_quantity) . "'
//Dateien Speichern und hochladen

Gruß Sven