Neu Exportformate - Vaterartikelnummer

B&W Werbeartikel

Aktives Mitglied
4. August 2021
12
0
Hallo,

Ich möchte gerne ein Exportformat für unsere Artikel erstellen und bräuchte Eure Hilfe.
Die Datei soll auch eine Spalte mit der Vaterartikelnummer enthalten.

$Artikel->cVaterArtNr klappt nicht.
Über $Artikel->kVaterArtikel bekomme ich die ID des Varterartikels, wie komme ich hier weiter zur Artikelnummer? Kann ich mit Smarty hier eine Unterabfrage einbauen?
Laut JTL-Debug steht auch keine andere Variable (auf der Kinderartikeldetailseite) zur Verfügung, die die Vaterartikelnummer direkt ausgibt.

Ich habe andere Threads zu diesem Thema gefunden, diese waren aber alle alt und unbeantwortet.

Vielen Dank.
 

GBK

Sehr aktives Mitglied
21. Oktober 2019
176
37
Lüdinghausen
Hallo,

vor dem Problem stehe ich ebenfalls. Habe bisher leider keine allgemeingültige Möglichkeit gefunden und würde mich freuen, wenn sich hier doch noch wer findet, der das Problem so lösen kann, dass keine Bedingungen, wie z.B. ein festes Artikelnummernformat, daran geknüpft ist.

Für uns konnte ich das nun lösen, weil wir grundsätzlich alle VarKombi-Artikelnummern fortlaufend mit Bindestrich machen. Also 123456 als Parent und 123456-001, 123456-002 usw als Childs. In dem Fall konnte ich einfach nach dem - suchen und diesen sowie alles danach entfernen. Wie hier:
{if $Artikel->cArtNr|strstr:'-'}{$Artikel->cArtNr|regex_replace:'/-.*/':''}{/if}

Marco
 
  • Gefällt mir
Reaktionen: Ezakimake

apalusa

Sehr aktives Mitglied
22. Oktober 2018
265
74
Wir standen auch mal vor diesem Problem, letztlich haben wir eine anderen Methode gefunden, wobei diese natürlich auch nicht optimal ist und für viele bestimmt nicht so einfach umzusetzen (gewisses technisches Know-How benötigt) ist wie bei uns. Hierzu gibt es aber in erster Linie die Frage wofür die Exportdatei benötigt wird?

Wenn ihr einen Link braucht den ihr bei idealo o.ä. hinterlegen könnt, funktioniert diese Methode zwar auch, aber benötigt nochmal etwas mehr aufwand und technische Vorkenntnis.

Da wir die Exportdatei mit den Vater-Informationen dafür brauchen um diese auf einen FTP Server hochzuladen, haben wir das ganze auf die Ameise ausgelagert. Mit einem Python Script stoßen wir bei der Ameise zwei Exporte an, einmal die relevanten Vaterartikel und einmal mit den gewollten Kindartikeln. Das ganze wird dann per "pandas" in python zusammen geschustert und anschließend auf den Server hochgeladen. Natürlich könnte man das Ergebnis dann auch selbst verarbeiten oder (vermute ich) auch auf einen dafür angelegten Pfad auf den Shop Server hochladen. Diesen kann man dann als Link für idealo, Google, etc. verwenden.

Wenn man eine gewisse Grundkenntnis beim Programmieren hat und mit Google umgehen kann, lässt sich das mehr oder minder einfach einrichten, so kann man auch (sofern die Artikelmenge nicht zu groß ist) ein Update in kürzeren Intervallen als eine Stunde bezwecken. Bei uns wird das ganze im Stundentakt vom Windows Aufgabenplaner angestoßen, der PC muss dafür also an sein, hierfür haben wir den freien Speicher auf unserem Wawi Hosting Server verwendet (JTL Wawi Cloud Hosting).

Da wir nun aber schon beim Shop 5 angekommen sind, wäre ich natürlich auch dafür das JTL einfach einige Daten des Vaterartikels (mindestens Artikelnummer) auch beim Kind per smarty Variable zugängig macht. Das ist dann die beste Lösung und steht auch Nutzern zur Verfügung die keine einheitlichen Artikelnummern oder Vorwissen beim programmieren haben.

Viele Grüße
apalusa
 

B&W Werbeartikel

Aktives Mitglied
4. August 2021
12
0
Danke für Eure Tipps.
GBKs Methode kommt für uns leider nicht in Frage, da die Artikelnummern nicht alle einheitlich sind und sich darin einiges Fehlerpotiential birgt.
Wir haben bereits einen halbautomatischen Ameise-Export probiert. Damit könnte es notfalls auch gehen. Viel einfacher und praktischer wäre aber natürlich die Export-Funktion des Shops. Dort sind eigentlich alle Artikelinfos enthalten, nur eben die eine (m.E. sehr wichtige) Vaterartikelnummer nicht.

Das JTL Plugin für den Google Export hat diese Funktion. Kann man diese Vaterartikelnmummern mit einem einfachen Plugin nachrüsten?
Oder könnte ein Dev mal nachsehen, ob man die Funktion aus dem Plugin für den Export im Shop 'klauen' könnte?
 

mediadesigner

Aktives Mitglied
29. Januar 2016
34
2
Köln
Danke für Eure Tipps.
GBKs Methode kommt für uns leider nicht in Frage, da die Artikelnummern nicht alle einheitlich sind und sich darin einiges Fehlerpotiential birgt.
Wir haben bereits einen halbautomatischen Ameise-Export probiert. Damit könnte es notfalls auch gehen. Viel einfacher und praktischer wäre aber natürlich die Export-Funktion des Shops. Dort sind eigentlich alle Artikelinfos enthalten, nur eben die eine (m.E. sehr wichtige) Vaterartikelnummer nicht.

Das JTL Plugin für den Google Export hat diese Funktion. Kann man diese Vaterartikelnmummern mit einem einfachen Plugin nachrüsten?
Oder könnte ein Dev mal nachsehen, ob man die Funktion aus dem Plugin für den Export im Shop 'klauen' könnte?
Hattet ihr dazu noch irgendwann eine Lösung bekommen?
 

frankell

Sehr aktives Mitglied
9. September 2019
725
288
Flensburg
Und eine eigene SQL-Query, die automatisch vom Aufgabenplaner ausgeführt wird, bspw. aus der Wawi-DB heraus, ist keine Alternative? Lässt halt auch den Shop in Ruhe.
Wir stellen so unsere Produktdaten einmal täglich unseren B2Bs auf einem FTP zur Verfügung. Und zusätzlich die aktuellen Bestände alle 5 Minuten. Alles ein Klacks für den SQL-Server.
 

B&W Werbeartikel

Aktives Mitglied
4. August 2021
12
0
Ja, man könnte auch einen Ameise-Export automatisch starten und das Ergebnis dann in einem FTP Ordner speichern. Da sind dann auch keine SQL Kenntnisse notwendig. Der Grund, warum wir die Export-Funktion im Shop nutzen wollten, war der, dass da auch die Bildpfade und andere shopspezifische Daten der Artikel zur Verfügung stehen. Damit man alles aus einer DB bekommt, wäre wahrscheinlich die Shop DB und nicht die Wawi DB die bessere Wahl.

Es ist allerdings schade, dass der Export im JTL Shop so eine grundlegende Information wie die Vaterartikelnummer nicht zur Verfügung stellen kann.
 

frankell

Sehr aktives Mitglied
9. September 2019
725
288
Flensburg
Ja, man könnte auch einen Ameise-Export automatisch starten und das Ergebnis dann in einem FTP Ordner speichern. Da sind dann auch keine SQL Kenntnisse notwendig. Der Grund, warum wir die Export-Funktion im Shop nutzen wollten, war der, dass da auch die Bildpfade und andere shopspezifische Daten der Artikel zur Verfügung stehen. Damit man alles aus einer DB bekommt, wäre wahrscheinlich die Shop DB und nicht die Wawi DB die bessere Wahl.

Es ist allerdings schade, dass der Export im JTL Shop so eine grundlegende Information wie die Vaterartikelnummer nicht zur Verfügung stellen kann.
Die Ameise meide ich, wo es nur geht. Viel zu langsam, das Ding. Außerdem lässt sich nicht alles beliebig exportieren wie bei einer komplett freien SQL-Query.
Klar, Shop-DB geht genauso.
Nur interessehalber: Was für shopspezifische Artikeldaten sind denn nicht in der Wawi-DB enthalten (mal abgesehen vom abweichenden kArtikel und den Bilder, wobei man diese ja auch auf einem FTP ablegen kann mit [ArtNr].[webp/jgp/png]?
 

apalusa

Sehr aktives Mitglied
22. Oktober 2018
265
74
Der Grund, warum wir die Export-Funktion im Shop nutzen wollten, war der, dass da auch die Bildpfade und andere shopspezifische Daten der Artikel zur Verfügung stehen. Damit man alles aus einer DB bekommt, wäre wahrscheinlich die Shop DB und nicht die Wawi DB die bessere Wahl.
Mal eine andere Frage, wie flexibel ist der Anbieter der die Exportdatei verarbeiten soll?

Ich frage deshalb, da ich vor kurzem etwas entdeckt habe, das es damals entweder nicht gab, oder die Dokumentation war nicht so umfangreich wie heute und ich hatte das daher nie entdeckt. Es geht mir dabei um eine Variable die ich hier unter "Bereich B" entdeckt habe:
https://guide.jtl-software.com/jtl-shop/systemverwaltung/neues-exportformat-erstellen/

Die Variable die ich meine ist Artikel->Variationen[i]->Werte[o]->cArtNr. Wie gesagt weiß ich nicht, ob man damals auch schon je Kind die jeweilige Kindartikelnummer abrufen konnte, aber mit dieser Variable wäre ja folgendes Szenario realisierbar:
Man exportiert nur normale Artikel und Vaterartikel, keine Kinder. Stattdessen erhält der Vater eine Spalte für seine Kinder, wo man per smarty loop die wichtigsten Daten aller Kinder in einem speziellen Format ausgibt, also zum Beispiel:
Code:
...;"Farbe: blau>123456-B45-389278>(noch weitere Daten mit einem Pfeil getrennt)...|Farbe: grün>123456-G45-389278>...";...

Meine Idee kommt daher, dass wir vor ein paar Jahren bei einem Preisvergleichsportal die Varianten auf diese Weise übertragen haben. Bei dem Preisportal war es dann so, dass deren System in der entsprechenden Spalte den Text genommen und aufgedröselt hat, wir hatten damals Beispielsweise die Pfeile als Trennzeichen für die "Spalten" eines einzelnen Kindes verwendet, und die Pipe als Trennzeichen zwischen den einzelnen Varianten. Das Preisportal hat das eigenen System dann so eingestellt, dass die Daten der Kinder aus der entsprechenden Spalte entnommen wurden, und allgemeine Daten wie z.B. Hersteller etc. wurden dann vom Vater übernommen.

Ist natürlich trotzdem keine perfekte Lösung (hab z.B. keine Variable für die EAN eines Kindes gefunden) aber eventuell hilft diese Methode ja doch dem einem oder anderen als Zwischenlösung, bis JTL hier endlich mal die Vaterartikelnummer als Variable bei den Kindern nachliefert.

Alternativ ist mir gerade auch noch eingefallen, dass es ja schon genügen würde nur die Artikelnummer der Kinder in dieser Spalte aufzuzählen. Wenn dann der Export nicht auf Vaterartikel beschränkt wird, könnte das System des Empfängers dann eventuell selbst die Verknüpfung anhand der Liste der Kindartikelnummern herstellen. Die Daten wie GTIN etc. wären dann einfach in der Zeile mit entsprechender Artikelnummer zu finden.
Hier müsste man nur aufpassen, ob JTL bei der Reihenfolge der Artikel im Export darauf achtet dass der Vater immer zuerst kommt. Ich vermute mal, die Reihenfolge wird anhand der kArtikel aufsteigend festgelegt, könnte also je nach Fall dafür sorgen, dass der Vater erst nach den Kindern auftaucht. In einem solchen Fall müsste der Empfänger der Datei also entweder die ganze Liste erst nach Artikelnummer sortieren, oder aber die Kindartikel aus der etnsprechenden Spalte beim Vater erst dann auswerten, wenn alle Artikel eingelesen wurden.