Neu Artikelverwaltung -> Bilder je Plattform

ReinholdB

Aktives Mitglied
7. September 2018
24
2
Die Übersicht ist Ergebnis von langem vergeblichen Suchen, Unverständnis und großem Frust darüber, dass es in JTL nicht möglich ist, massenhaft Bilder für eine Plattform zu ersetzen.
Über die Ameise kann ich zwar Plattform-spezifisch Bilder laden. aber nur zusätzlich oder mit vorherigem Löschen sämtlicher Zuordnungen für alle Plattformen.
Ich kann auch Bilder exportieren, aber leider ohne Information über die Zuordnung zu Plattformen.
Manuell je Artikel geht es aber bei Varkombis mit über 200 Kindern auch nicht.
Wollte das lange nicht glauben, dass JTL keine Möglichkeit für eine solche doch nicht ungewöhnliche Anforderung bietet. Ich habe jedenfalls nichts gefunden.
Ich habe die Informationen jetzt direkt aus der Datenbank gezogen und konnte zusammen mit einem Bilderexport und neuem Import (mit Vorab-Löschen) das Gewünschte erreichen.
Und da mir dann aufgefallen ist, dass es als Listenübersicht auch funktioniert, wollte ich das gene teilen. Vielleicht hilft es jemandem, der ein ähnliches Anliegen hat.

SQL:
-- ArtikelBilder je Plattform z.B. für Ameise NeuImport
---- Standardartikel oder Vaterartikel bei Varkombis
SELECT a.cArtNr AS ArtNr, p.cName AS Plattform, abp.nNr AS PlattformBildNummer, ab.Bildname AS ExportBildname, b.cQuelle AS Quelle, b.dErstellt AS Erstellt, b.dAenderung AS Aenderung, b.nDateigroesse AS Dateigroesse, b.nBreite AS Breite, b.nHoehe AS Hoehe, b.nVorschauDateigroesse AS VorschauDateigroesse, b.nVorschauBreite AS VorschauBreite, b.nVorschauHoehe AS VorschauHoehe
FROM dbo.tArtikelbildPlattform AS abp
INNER JOIN dbo.tArtikel AS a
    ON abp.kArtikel = a.kArtikel
INNER JOIN dbo.tPlattform AS p
    ON abp.kPlattform = p.nPlattform
INNER JOIN dbo.tBild AS b
    ON abp.kBild = b.kBild
INNER JOIN (
  SELECT dbo.tArtikelbildPlattform.kArtikel AS ArtikelID, dbo.tArtikelbildPlattform.kBild AS BildID, CONCAT   (dbo.tArtikel.cArtNr,'-',dbo.tArtikelbildPlattform.nNr) AS Bildname
  FROM dbo.tArtikelbildPlattform
  INNER JOIN dbo.tArtikel
    ON dbo.tArtikelbildPlattform.kArtikel = dbo.tArtikel.kArtikel
  WHERE dbo.tArtikelbildPlattform.kPlattform = 1) AS ab
    ON ab.ArtikelID = abp.kArtikel AND ab.BildID = abp.kBild
WHERE abp.kPlattform <> 1
  AND a.kArtikel = @Key
UNION
---- Kinderartikel bei Varkombis
SELECT a.cArtNr AS ArtNr, p.cName AS Plattform, abp.nNr AS PlattformBildNummer, ab.Bildname AS ExportBildname, b.cQuelle AS Quelle, b.dErstellt AS Erstellt, b.dAenderung AS Aenderung, b.nDateigroesse AS Dateigroesse, b.nBreite AS Breite, b.nHoehe AS Hoehe, b.nVorschauDateigroesse AS VorschauDateigroesse, b.nVorschauBreite AS VorschauBreite, b.nVorschauHoehe AS VorschauHoehe
FROM dbo.tArtikelbildPlattform AS abp
INNER JOIN dbo.tArtikel AS a
    ON abp.kArtikel = a.kArtikel
INNER JOIN dbo.tPlattform AS p
    ON abp.kPlattform = p.nPlattform
INNER JOIN dbo.tBild AS b
    ON abp.kBild = b.kBild
INNER JOIN (
  SELECT dbo.tArtikelbildPlattform.kArtikel AS ArtikelID, dbo.tArtikelbildPlattform.kBild AS BildID, CONCAT   (dbo.tArtikel.cArtNr,'-',dbo.tArtikelbildPlattform.nNr) AS Bildname
  FROM dbo.tArtikelbildPlattform
  INNER JOIN dbo.tArtikel
    ON dbo.tArtikelbildPlattform.kArtikel = dbo.tArtikel.kArtikel
  WHERE dbo.tArtikelbildPlattform.kPlattform = 1) AS ab
    ON ab.ArtikelID = abp.kArtikel AND ab.BildID = abp.kBild
WHERE abp.kPlattform <> 1
  AND a.kVaterArtikel = @Key
ORDER BY a.cArtNr,p.cName,abp.nNr

Anmerkung:
(1) Bei mehr als einem Onlineshop muss evt noch was angepasst werden
(2) Für meine Zwecke haben die 4 ersten Spalten gereicht, aber evt sind die weiteren Bild-Daten interessant
(3) Ich verwende die exportierten Bilder zum Neuladen, evt sind aber die Bildreferenzen in Quelle eine Alternative, falls man die Bilder noch so vorliegen hat

Für meine Anforderung bin ich nun so vorgegangen:
  1. Für Vater-/Kinder-Artikel einen ArtikelBilder-Export per Ameise durchgeführt mit "Bildnamen benennen nach Artikelnummer"
  2. Für einen Varkombiartikel (Vater und Kinder) die Daten lt SQL oben ermittelt
  3. Die Listenform in eine breite Darstellung (1 Zeile je Artikelnummer) überführt (dabei noch ".jpg" angehängt an ExportBildname) und als CSV-Datei bereitgestellt
  4. Für die Plattform, die neue Bilder erhalen soll, die Bildnamen gelöscht in der CSV-Datei
  5. Eine Vorlage für Ameisen-Import "Artikelbilder je Plattform" für die CSV-Datei erstellt (den Suffix ".jpg" kann man alternativ auch hier erstellen) mit Option "Zuordnungen vorher löschen"
  6. Import durchgeführt. Sollte jetzt wie vorher sein, nur ohne die in der CSV-Datei gelöschten Plattformzuweisungen
  7. Und jetzt die neuen Bilder für die Plattform importiert wie üblich (jetzt nur neue Zuordnungen)
Zu 3 hier noch der Excel-VBA-Code, den ich verwende. Falls mehr Plattformen oder mehr Bilder je Plattform nötig sind, muss das angepasst werden.

Code:
Sub Fill_ImportFile()
    'Transform normalized output from SQL extract (Export sheet) to Ameise Bilder import file (Import sheet)
    'Export data: ArtNr, Plattform, PlattformBildNummer, ExportBildname
    'Import data: Artikelnummer, AmazonB1, ..., AmazonB20, EbayB1, ..., EbayB20,ShopB1, ..., ShopB20
    'The range with the Export data from SQL.
    Dim rnExport As Range
    'Row variables used (Export)
    Dim lnLastRow As Long
    Dim lnRowCount As Long
    'Row and Column variables used (Import)
    Dim lnCounterR As Long
    Dim lnCounterC As Long
    'Column Offset per platform in Import Sheet
    Dim lnPlattformOffset As Long
    'Artikelnummer stored to check change
    Dim strArtnr As String

    Set rnExport = Worksheets("Export").UsedRange
    lnLastRow = rnExport.Rows.Count
    lnCounterR = 1
    strArtnr = "leer"
    For lnRowCount = 2 To lnLastRow
      If rnExport.Cells(lnRowCount, 1) <> strArtnr Then
        strArtnr = rnExport.Cells(lnRowCount, 1)
        lnCounterR = lnCounterR + 1
      End If
      If rnExport.Cells(lnRowCount, 2) = "Amazon" Then
        lnPlattformOffset = 0
      ElseIf rnExport.Cells(lnRowCount, 2) = "eBay" Then
        lnPlattformOffset = 20
      ElseIf rnExport.Cells(lnRowCount, 2) = "Onlineshop" Then
        lnPlattformOffset = 40
      End If
      Worksheets("Import").Cells(lnCounterR, 1).Value = rnExport.Cells(lnRowCount, 1)
      lnCounterC = lnPlattformOffset + rnExport.Cells(lnRowCount, 3) + 1
      Worksheets("Import").Cells(lnCounterR, lnCounterC).Value = rnExport.Cells(lnRowCount, 4) & ".jpg"
    Next lnRowCount
End Sub

Für mich hat es so funktioniert und ich habe eine brauchbare Lösung für das Aktualisieren von Bildern. Wird aber nicht für jeden und alles funktionieren. Deshalb unbedingt testen, wer es einsetzen will.
 
  • Gefällt mir
Reaktionen: Thomas Lisson

Thomas Lisson

Administrator
Mitarbeiter
24. März 2006
15.574
299
Köln
Hi,

zunächst einmal: Vielen Dan fürs Teilen!

Über die Ameise kann ich zwar Plattform-spezifisch Bilder laden. aber nur zusätzlich oder mit vorherigem Löschen sämtlicher Zuordnungen für alle Plattformen.
Wäre aber nicht ein möglicher Weg, dass man einfach alle Bilder inkl. Zuordnungen neu importiert mit der Einstellung, dass bisherige Bilder des jeweiligen Artikels komplett gelöscht werden sollen vor dem Import?
 

ReinholdB

Aktives Mitglied
7. September 2018
24
2
Ja, so habe ich das ja dann auch gemacht. Aber ich brauche die Zuordnungen um Zeitpunkt vor dem Löschen und die bekomme ich nicht so einfach raus.
Wenn ich 5 Bilder habe und bei Shop,Amazon,eBay sind die gleich, dann ist das ja kein Problem. Aber eBay will ein Galeriebild beim Vater und rechteckig und rund Bilder muss ich schon bei der ersten Größenvariante einer Farbe hinterlegen , Amazon will die Swatchbilder genau als Nr 10 , beim Shop muss ich auch überlegen, was in die Artikellisten (Vater) kommt,etc,...
Falls alle Bilder und Importlisten gut aufgehoben werden, kann man auch damit arbeiten. Aber ich dachte ja mal, dass JTL das alles gut verwaltet (PIM?).
 

301Moved

Sehr aktives Mitglied
19. Juli 2013
930
187
Wäre aber nicht ein möglicher Weg, dass man einfach alle Bilder inkl. Zuordnungen neu importiert mit der Einstellung, dass bisherige Bilder des jeweiligen Artikels komplett gelöscht werden sollen vor dem Import?

Übersehe ich eine solche Einstellung evtl.?
Hab auch einen Ameisen Import geplant, der das Bild gleich allen Plattformen zuordnen, wenn es ein neues gibt. Danach hat das vorher existente Bild zwar keine Zuordnungen mehr, ist aber dennoch noch da (und nimmt vermutlich Platz in der Datenbank in Anspruch und wird auch nicht mehr benötigt).
Man kann ja bestehende Zuordnung löschen, aber das macht dann ja wenig Sinn, zumal nicht immer jeder Identifier auch wirklich ein Bild hat (automatischer Import)
 
Ähnliche Themen
Titel Forum Antworten Datum
Neu beim Umstieg von unicorn auf SCX Bilder aktivieren Otto.de - Anbindung (SCX) 0
Neu Kategorie Bilder werden im Webshop nicht angezeigt User helfen Usern - Fragen zu JTL-Wawi 0
Neu Bilder von Merkmalen werden nicht angezeigt Gelöste Themen in diesem Bereich 5
Versuch Bilder aus Ebay für Kaufland zu übernehmen JTL-Wawi 1.8 0
Bilder Upload und Fehlermeldung WooCommerce-Connector 0
Neu Bilder werden Falsch im Shop angezeigt. WooCommerce-Connector 0
Neu Bilder öffnen sich in mobiler Version fehlerhaft. Allgemeine Fragen zu JTL-Shop 0
Neu Bilder für Kindartikel Gelöste Themen in diesem Bereich 4
Neu Bilder unter "Mehr dieser Waregruppe" und "Kunden, die diesen Artikel gekauft haben, kauften auch" fehlen eBay-Designvorlagen - Fehler und Bugs 0
Neu Amazon Lister übergibt nur das Hauptbild an Amazon, weiter Bilder werden nicht übertragen Amazon-Lister - Fehler und Bugs 0
Neu Wie kann ich Alt-Texte für Bilder an Shopify senden? Shopify-Connector 2
Neu Connector überträgt keine Bilder Shopify-Connector 1
Neu webp-Bilder werden nicht mehr generiert JTL-Shop - Fehler und Bugs 0
Neu Einstellung: "Bilder des Vaterartikels un der folgenden Variationswerte übernehmen" und der Shopware Server "explodiert" Shopware-Connector 10
Neu Bilder werden teilweise in verschiedenen Browser falsch dargestellt Gelöste Themen in diesem Bereich 3
Neu Bilder in Chrome zerquetscht angezeigt.. Gelöste Themen in diesem Bereich 16
Neu Neuer Verkauskanal: Bilder inaktiv User helfen Usern - Fragen zu JTL-Wawi 2
Neu Shop Bilder-Anzeige in Firefox fehlerhaft Allgemeine Fragen zu JTL-Shop 0
Neu Shop Bilder-Anzeige in Firefox fehlerhaft Allgemeine Fragen zu JTL-Shop 6
Neu Plattform als Darstellungsbedingungen für Bilder oder Text Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 0
Custom css für Galerie-Bilder Einrichtung JTL-Shop5 3
Neu Keine Übersicht mehr auf welcher Plattform ein Artikel eingestellt ist. JTL-Wawi - Fehler und Bugs 0
Neu Abfrage der Versandart von der Plattform User helfen Usern - Fragen zu JTL-Wawi 0

Ähnliche Themen