Zubehör zum Shop senden

Antworten

Zubehör zum Shop senden

Hallo,

ich möchte die Schnittstelle vom Modified-Shop anpassen so, dass er auch das Zubehör übernimmt. Bei VK 1-5 und den Staffelpreisen habe ich das schon hinbekommen aber beim Zubehör finde ich nicht die Variable in der das Zubehör übertragen wird.

Ich habe mir das Logfile der Übertragung angeschaut und da wird nur products_accessory=1 übergeben, was nur anzeigt, dass es Zubehör gibt aber nicht um welches es sich handelt. Da es aber ja für andere Shop-Systeme angeblich Schnittstellen gibt, die das können und ja auch laut der Cao-Wawi Seite bei der Kauf-Version, die ich verwende, die Daten übergeben werden, wird es ja wohl gehen nur dafür müsste ich halt herausbekommen in welcher Variable der benötigte Inhalt steckt.

Gibt es vielleicht eine Dokumentation, wo alle Variablen aufgelistet werden oder weiß jemand wie die Variable heißt, die ich benötige?

Vielen Dank!

Re: Zubehör zum Shop senden

Hi,

hab das mal vor einiger Zeit quick&dirty gelöst... läuft aber auch über längere Zeit "dirty" :)

Achtung! Aus der Tabelle products_xsell werden alle Zuordnungen zum Stammartikel erstmal gelöscht und dann wieder neu eingefügt. Hatte dafür keine andere Lösung, da CAO nicht meldet wenn ein Ersatzteil entfernt wird.

Bei den inserts (insert into products_xsell...) gibts einmal eine 1 und eine 2. Die Stehen für die XSell ID aus dem Shop.

Den Code einfach irgendwo zwischen 2 andere Funktion setzen.
Ich rufe das Ganze dann über "function ProductsUpdate ()" auf. Dort habe ich am Ende der Funktion (vor if (file_exists('cao_produpd_2.php')) { include('cao_produpd_2.php'); })

Code: Alles auswählen

xsellburn($products_id);
eingefügt.

Code: Alles auswählen

function xsellburn ($products_id)
{
	$xsell_delete = "DELETE from products_xsell where products_id = '".$products_id."';";
	$xsell_delete = xtc_db_query($xsell_delete);

	if (isset($_POST['products_accessory'])) {
		$products_accessory = explode(",", $_POST['products_accessory']);

		foreach ($products_accessory as $arr) {
			$xsell_insert = "insert into products_xsell (id, products_id, products_xsell_grp_name_id, xsell_id, sort_order) values ('', ".$products_id.", '1', '".$arr."', '1');";
			$xsell_insert = xtc_db_query($xsell_insert);				
		}
	}

	if (isset($_POST['products_spares'])) {
		$products_accessory = explode(",", $_POST['products_spares']);

		foreach ($products_accessory as $arr) {
			$xsell_insert = "insert into products_xsell (id, products_id, products_xsell_grp_name_id, xsell_id, sort_order) values ('', ".$products_id.", '2', '".$arr."', '1');";
			$xsell_insert = xtc_db_query($xsell_insert);				
		}
	}
}
Keine Gewähr und so. Datensicherung vorher machen :)

€ habe gerade gesehen, dass due einen modified Shop hast. Ich nutzte den GX2. Prüfe einfach den Aufbau der Tabelle products_xsell. Falls es dort mehr Spalten gibt, musst du die insert Befehle erweitern

Re: Zubehör zum Shop senden

noch etwas vergessen...
Im CAO müssen die Shopeinstellungen geändert werden. Shopeinstellungen aufrufen, auf Sonstiges und da die entsprechenden Kreuze machen.

Re: Zubehör zum Shop senden

Super, Danke!!! An die Haken hatte ich schon gedacht. :)

So hatte ich das sogar schon ausprobiert nur da hatte das nicht funktioniert und dann hatte ich im Logfile gesehen, dass nur eine 1 in der Variable steht. Dabei war das Problem nur das dass Zubehör Artikel, was ich einfügen wollte kein Shopartikel war.... :?

Vielen Dank für deine super schnelle Hilfe!