Nach Update werden ESD-Produkte nicht mehr erkannt

Hallo,

bei einem Shop wurde ein Update von 5.3.2 auf 5.4.0 unternommen (alles war sauber und ohne Probleme). Soweit geht auch alles. Aber seit dem werden ESD-Produkte nicht mehr so angezeigt. Bei den Artikeln kann ich auch keine mehr manuell anlegen. Der Button „Als neuen ESD-Artikel anlegen“ bleibt grau und beim Feld „Variante wählen“ kann ich nichts mehr eintippen. Bestehede Artikel werden nicht mehr als ESD (Sofortdownload) angezeigt. Nach der Bestellung kann man sie nicht Downloaden :frowning: Vor dem Update ging das jedoch.

Hat noch jemand das Problem?

 

Hab das mal gerade durchgespielt. Ich kann neue ESD-Artikel anlegen und auch bestehende editieren in der 5.4.1. Auch der Download klappt einwandfrei, wenn ich den Zahlunsstatus korrekt setze. Sehe da aktuell keine Probleme.

Ja, habe eben auf 5.4.1 auch aktualisiert, das Theme auf das Originale umgeschalten. Bei den Details wird auch angezeigt, dass es sich hierbei um ein Download handelt. Lege ich den Artikel in den Warenkorb steht plötzlich „Lieferzeit ca. 5 Tage“ drin - vorher war das nicht so. Bestelle ich, dann steht danach kein Download zur Verfügung. Als wäre der Artikel nie mit ESD verbunden. Wenn ich bei einem Artikel die ESD-Einstellungen lösche, kann ich es nicht mehr neu anlegen (Artikel werden bei mir per API sonst angelegt). Verstehe ich nicht.

Habe jetzt versucht einen neuen Artikel “ESD-Test” anzulegen. Wenn ich jetzt bei de ESD-Einstellungen und “Variante wählen” ESD eintippe, dann geht ein Fenster mit “ESD-Test” für 1 Sekunde auf und gleich wieder zu. Danach geht leider gar nichts mehr.

Update_1:

Im Warenkorb gibt die Variable {$sArticle.esd} in delivery_informations.tpl einfach 0 zurück. Obwohl der Artikel mit ESD angelegt wurde - allerdings ohne Serienummer, aber das sollte ja nicht stören.

Update_2:

Jetzt mal die Variablen im original TPL (delivery_informations.tpl) abgefragt:

{$sArticle.esdarticle} = 0
{$sArticle.esd} = 0
{$sArticle.additional_details.esd} = 1

Was stimmt denn hier nicht?

Update_3:

Nach dem Bestellen steht in der Tabelle “s_order_details” bei “esdarticle” eine 0. Somit wird der Artikel nicht mehr als Download Produkt erkannt. Auch in der Tabelle “s_order_esd” taucht der Artikel nicht mehr auf.

Was meinst du mit Eintippen? Das Dropdown beim Artikel zeigt dir doch alle Varianten an - also ich muss da nicts eintippen (selbst wenn, zeigt es mir aber etwas an).
Kann da so kein offensichtliches Problem erkennen. 

Was meinst du mit Eintippen?

Zunächst erst mal Danke für das Feedback! In der Zwischenzeit habe ich zum meinen Beitrag Updates geschrieben (siehe oben). Mit dem Eintippen ich im Backend bei ESD-Einstellungen zum Artikel und dort das Feld “Variante wählen”. Würde das ja gern als Video zeigen, geht aber gerade nicht umzusetzen. Wie gesagt, ich habe dieses Verhalten seit dem Update. Vielleicht sollte ich die 5.4.1 noch mal drüber laufen lassen? Viel wichtiger ist aber, warum ESD-Artikel im Warenkorb und nach der Bestellung nicht mehr als ESD erkannt wird.

Bei der Fehlersuche bin ich nun ein Stück weiter gekommen, Lösung habe ich aber dennoch noch nicht gefunden. Nun ja, folgender Sachverhalt:

Alle ESD-Produkte werden per API eingelesen. Alle Produkte die vor dem Update eingelesen wurden, werden im Warenkorb als Download angezeigt und können später auch heruntergeladen werden.

Alle ESD-Produkte, die nach dem Update per API einlesen wurden, werden im Details zwar als Download erkannt, aber ab dem Warenkorb nicht mehr. Auch nach der Bestellung ist der Status ESD wie weg gezaubert. Das Produkt lässt sich nicht herunterladen.

Ein Test-Produkt habe ich nun per Hand im Backend mit ESD angelegt. Auch dieses geht ganz normal im Warenkorb und ist downloadbar.

Fazit:

Irgendetwas muss sich bei der API geändert haben. In der Datenbank konnte ich rein optisch keinen Unterschied zwischen den Produkten vor dem Update und den Produkten nach dem Update erkennen. Alle Produkte werden bei Details richtig angezeigt, aber beim Reinlegen in den Warenkorb werden Produkte nach dem Update nicht mehr als ESD erkannt.

Tabellen:

s_articles_esd - hier ist kein Unterschied erkenntbar
s_articles_details - hier ist auch kein Unterschied erkennbar

s_order_basket - nach dem Update eingepflegte Artikel haben bei Spalte “esdarticle” eine 0
s_order_details - nach dem Update eingepflegte Artikel haben bei Spalte “esdarticle” eine 0
s_order_esd - nach dem Update eingepflegte Artikel stehen hier gar nicht drin

Vereinfache Darstellung wie ich das ganze einlese:

// Produkt einlesen

$new = Array(
  'name' => 'text',
  'description' => 'text',
  'descriptionLong' => 'text',
  'taxId' => 1,
  'supplier' => 'text',
  'priceGroupId' => 1,
  'active' => 1, 
  'categories' => array( array('id' => 99) ),
  'keywords' => 'text',
  'metaTitle' => 'text',
  'mainDetail' => array( 
    'number' => 'nummer', 
    'inStock' => 1,
    'minPurchase' => 0, 
    'maxPurchase' => 1,
    'supplierNumber' => 'text',
    'active' => 1,
    'prices' => array( array( 'customerGroupKey' => 'EK', 'price' => 0.00 ) ),
    'attribute' => array( 
      'attr5' => 'text',  
      ),
  ),
);

id = $SW->post('articles', $new );

// ESD einspielen unter Angabe der ID vom Artikel-Import

$query = "
  INSERT INTO s_articles_esd 
  (`articleID`, `articledetailsID`, `file`, `datum`) 
  VALUES 
  (id, id, 'file', NOW() )
  ";

Vor dem Update hat das so funktioniert, nach dem Update eigentlich auch, bis auf das merkwürdige Verhalten.

Frage wäre nun, was könnte die Ursache sein, wenn ein Artikel bei Details noch als Download erkannt wird, aber ab dem Bestellprozess nicht mehr.
 

Welchen Wert hat denn lastStock in den Details? Das ist ja das einzige “große” was sich an der Artikelstruktur geändert hat.

Ich habe die Ursache gefunden!

Ich hatte bei “INSERT INTO s_articles_esd” die selben IDs (articleID,articledetailsID) übertragen - vermutlich nach einer Umstellung die zeitgleich zum SW Update erfolgte. Das hatte dann den Effekt, dass zwar bei den Details der Artikel als Download erkannt wurde, aber ab dem Warenkorb dann nicht mehr.

Entschuldigung, dass ich hier so ein riesen Thema aufgemacht hatte.