Jump to content
xt:Commerce Community Forum

Lieferstatus automatisch ?ndern


cosmo123

Recommended Posts

hallo liebe gemeinde.

ich habe eine frage bez?glich des liederstatus.

gibt es eine m?glichkeit, dem system zu sagen, dass es den lieferstatus automatisch

bei releasedatum, welches man nat?rlich vorher in dem artikel festgelegt hat, auf den standard-lieferstatus ?ndern ?

also z.b. kommt ein artikel am 01.01.2006 raus, ich setze den lieferstatus beim einstellen des produktes erstmal auf "Vorbestellen" (welchen ich selbst kreiert habt), und bei release, also dem 01.01.2006 soll das system automatisch von "Vorbestellen" auf "1-2 Werktage (Standard)" umstellen.

ist das in irgendeiner form m?glich, denn ab und zu kann es vorkommen, dass man, wenn man alles manuell ?ndert, einen artikel ?bersieht, und das ist nicht so gut.

vielen dank schonmal im voraus f?r die schnelle und kompetente hilfe, und bis demn?chst.

gru?

cosmo

Link to comment
Share on other sites

Du k?nntest folgendes php-script bei deinem provider als t?glichen cronjob eintragen lassen.

Das sollte dann einmal fr?h am morgen laufen und setzt den Bestellstatus aller Artikel, die grade dann frisch erschienen sind um.


#!/usr/bin/php

<?php

/* GLOBALE PARAMETER. DIESE M?SSEN AN DIE LOKALEN GEGEBENHEITEN ANGEPASST WERDEN */

include('/srv/www/xt/xtcommerce/includes/configure.php');

include('/srv/www/xt/xtcommerce/includes/database_tables.php');


//Lieferstatus-ID f?r noch nicht erschienene Produkte

$notjetshipping = 2;

//Standard Lieferstatus-ID , auf die die frisch erschienenen Produkte gesetzt werden sollen. 

$defshipping = 1;


/*-----------------------------------------------------------------------------------------------------------------------------------------*/


//Aufbau der MySQL-Verbindung

$myscon = mysql_connect(DB_SERVER, DB_SERVER_USERNAME, DB_SERVER_PASSWORD, true);

if (!$myscon)

	die ("Couldn't connect to Database!");


if (!mysql_select_db(DB_DATABASE, $myscon)) 

	die ("Database ".DB_DATABASE." doesn't exist!");


if (!($res = mysql_query("SELECT products_id, products_shippingtime, products_date_available FROM ".TABLE_PRODUCTS." WHERE products_shippingtime=".$notjetshipping, $myscon)))

	die ("SELECT failed!");


if (mysql_num_rows($res) > 0) {

	$aktdate = date("Y-m-d H:i:s");


	while($row = mysql_fetch_array($res, MYSQL_BOTH)) {

 if ($row['products_date_available'] < $aktdate) {

 	$res2 = mysql_query("UPDATE ".TABLE_PRODUCTS." SET products_shippingtime=".$defshipping." WHERE products_id=".$row['products_id'], $myscon);

 	if ($res2 == TRUE) {

  echo "Das Produkt mit der ID ".$row['products_id']." ist heute erschienen und wurde erfolgreich auf den Standardlieferstatus gesetzt.\n";

 	} else {

  echo "Das Produkt mit der ID ".$row['products_id']." ist heute erschienen. Es konnte allerdings der Lieferstatus nicht upgedated werden!\nBitte pr?fen Sie das manuell!\n";

 	}

 } 

	}  

}

mysql_close($myscon);


?>

Dabei m?ssen nat?rlich noch oben die Parameter angepasst werden. Bei den Pfaden kann dir sicher dein Provider helfen.

Bei den ID-Nummern des Lieferstatuses musst du mal in deine DB in die Tabelle "shipping_status" gucken.

Achtung: Ich habe nur Version 2. Ich wei? daher nicht, ob sich eventuell bei der 3er was bez?glich der Datenbank getan hat, dass diese Querys unbrauchbar macht.

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
  • Create New...