Ihr Partner für Online-Marketing in Niederbayern

JTL-Wawi: Bug mit Angebotsdatum Start bei modifiedShop

Der JTL-Connector für modified Shop wurde zwar offiziell abgekündigt, ist jedoch in vielen Projekten noch immer im produktiven Einsatz und kümmert sich um die Daten-Syncronisierung zwischen JTL-Wawi und modified Shop.

Ein bekanntes Problem: Startdatum bei Angeboten

In der Praxis zeigt sich ein seit langem bestehender Bug: Das Startdatum von Angeboten wird zwar korrekt aus JTL-Wawi an den Shop übertragen – der Connector speichert es jedoch nicht. Dadurch greifen zeitgesteuerte Sonderangebote oder Rabatte nicht wie vorgesehen sondern bereits am Tag der Eingabe.

Bugfix für das Startdatum

Da unsere Kunden davon ebenfalls betroffen sind, haben uns dem Problem möglichst effizient und pragmatisch angenommen. Mit folgendem Bugfix-Snippet lässt sich der Fehler beheben. Der Code prüft, ob das Startdatum vorhanden ist und in der Zukunft liegt und schreibt diese Änderung dann in die Datenbank.

jtlconnector/include.php

function cwShutdown(){
   require_once($_SERVER['DOCUMENT_ROOT'].'/includes/configure.php');
   $db = new mysqli(DB_SERVER, DB_SERVER_USERNAME, DB_SERVER_PASSWORD, DB_DATABASE);
   $arrData = json_decode($_POST['jtlrpc'], true);
   if($arrData['method']=='product.push'){
     foreach($arrData['params'] as $arrProdukt){
        $strSku = strval($arrProdukt['sku']);
        $strStartDate = date('Y-m-d', strtotime($arrProdukt['specialPrices'][0]['activeFromDate']));
        $strEndDate = date('Y-m-d', strtotime($arrProdukt['specialPrices'][0]['activeUntilDate']));
        if(!empty($strStartDate) && !empty($strEndDate) && !empty($strSku) && !strstr($strEndDate, '1970')){
            $strSql = "UPDATE specials s JOIN products p USING(products_id)
                         SET s.start_date = '$strStartDate', s.date_status_change = NOW()
                         WHERE p.products_model = '$strSku' AND expires_date LIKE '$strEndDate%' ;";
            $db->query($strSql);
        }
     }
   }
}
register_shutdown_function('cwShutdown');

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Ähnliche Themen