Ein Bild gleichzeitig bei (fast) allen Artikeln austauschen

Thema wurde von Capricorni, 16. September 2022 erstellt.

  1. Capricorni

    Capricorni Erfahrener Benutzer

    Registriert seit:
    8. August 2015
    Beiträge:
    132
    Danke erhalten:
    1
    Danke vergeben:
    41
    Hallo liebe Comunity,

    ich habe diverse Artikel aus dem gleichen Material, bei dem sich jetzt eine Farbe geändert hat. Bei den Optionen konnte ich die Änderung problemlos übernehmen, aber mir stellt sich die Frage, ob man ein Artikelbild auch gleichzeitig bei allen betroffenen Artikeln austauschen kann und wenn ja, wie mache ich das am besten?

    Liebe Grüße
    Kathi

    www.capricorni.net
     
  2. Capricorni

    Capricorni Erfahrener Benutzer

    Registriert seit:
    8. August 2015
    Beiträge:
    132
    Danke erhalten:
    1
    Danke vergeben:
    41
    Danke dir, dann schaue ich mir das mal an, auch wenn es aktuell für mich nach Bahnhof klingt... :)
     
  3. barbara

    barbara G-WARD 2014-2020

    Registriert seit:
    14. August 2011
    Beiträge:
    35.352
    Danke erhalten:
    11.198
    Danke vergeben:
    1.601
    In aktuellen Shops kann man ein Bild mehreren Artikeln geben. In älteren Shopversionen geht das noch nicht.

    Sind die Bilder bei Dir für jeden Artikel extra angelegt, haben also einen eigenen Bildnamen, oder gibt es nur ein Bild?
     
  4. Capricorni

    Capricorni Erfahrener Benutzer

    Registriert seit:
    8. August 2015
    Beiträge:
    132
    Danke erhalten:
    1
    Danke vergeben:
    41
    Die sollten eigentlich alle den selben Bildnamen haben. Shopversion ist die 4.5.2.2 (Update mach ich die Tage noch).
     
  5. Capricorni

    Capricorni Erfahrener Benutzer

    Registriert seit:
    8. August 2015
    Beiträge:
    132
    Danke erhalten:
    1
    Danke vergeben:
    41
    Ups, hab ich übersehen, dass ich im GX2 Forum bin... :oops:
     
  6. Anonymous

    Anonymous Erfahrener Benutzer

    Registriert seit:
    17. Oktober 2018
    Beiträge:
    126
    Danke erhalten:
    72
    Danke vergeben:
    17
    @Capricorni
    Das würde ich erstmal überprüfen. Magst Du mal konkret den Dateinamen des betroffenen Artikelbilds in Deinem Shop verraten?
     
  7. Capricorni

    Capricorni Erfahrener Benutzer

    Registriert seit:
    8. August 2015
    Beiträge:
    132
    Danke erhalten:
    1
    Danke vergeben:
    41
    Ja klar, "1Farbauswahl Wollfilz.jpg". Wobei der ursprünglich glaube ich eher nur Farbauswahl Wollfilz.jpg hieß.
     
  8. Anonymous

    Anonymous Erfahrener Benutzer

    Registriert seit:
    17. Oktober 2018
    Beiträge:
    126
    Danke erhalten:
    72
    Danke vergeben:
    17
    #8 Anonymous, 16. September 2022
    Zuletzt bearbeitet: 16. September 2022
    Mal auf die Schnelle: mit folgendem SQL Statement kann die Datenbank befragt werden, bei welchen Artikeln das Bild, bzw. der Dateiname (und seine Varianten) verwendet werden.
    Code:
    SELECT * FROM products_images WHERE image_name LIKE '%Farbauswahl Wollfilz%';
    Das erfasst aber nur die Artikel, bei denen das Bild nicht das erste Artikelbild ist. Dafür bräuchte man eine modifizierte SQL-Abfrage.

    So sieht man erstmal was es da noch so für Varianten des Dateinamens gibt.

    P.S.: Den Code unter Toolbox > SQL in die Textbox SQL-Query copypasten und "Go"
     
  9. Capricorni

    Capricorni Erfahrener Benutzer

    Registriert seit:
    8. August 2015
    Beiträge:
    132
    Danke erhalten:
    1
    Danke vergeben:
    41
    Hab ich gemacht, ist bei reichlich Artikeln vertreten, wie es zu erwarten war. Bei manchen Bildern sind noch weitere Zahlen anghängt, dass hat aber glaube ich der Shop von sich aus gemacht.
    Das Bild mit identischem Namen per FTP hochladen (entsprechender Ordner muss ja vorhanden sein), funktioniert wahrscheinlich nicht so, wie ich mir das denke, oder?
     
  10. Anonymous

    Anonymous Erfahrener Benutzer

    Registriert seit:
    17. Oktober 2018
    Beiträge:
    126
    Danke erhalten:
    72
    Danke vergeben:
    17
    Unten stehendes SQL Statement setzt dann bei genau jenen Einträgen (wie im Ergebnis der Abfrage meines obigen Beitrags) den neuen Dateinamen.

    Achtung! Wie schon ganz trefflich gewarnt wurde:
    Code:
    UPDATE
        products_images
    SET
        image_name = 'neuer_dateiname'
    WHERE
        image_name LIKE '%Farbauswahl Wollfilz%';
     
  11. Anonymous

    Anonymous Erfahrener Benutzer

    Registriert seit:
    17. Oktober 2018
    Beiträge:
    126
    Danke erhalten:
    72
    Danke vergeben:
    17
    #11 Anonymous, 16. September 2022
    Zuletzt bearbeitet: 16. September 2022
    Das macht der Shop, wenn Artikel dupliziert werden. Die zugehörigen Bilder werden ebenfalls dupliziert und zur Unterscheidung wird ein Suffix angehängt.

    Das funktioniert für Originalbilder (Dateipfad: images/product_images/original_images/). Das sind die Bilder, die man über das Backend/Admin einpflegt. Der Shop legt bei Bedarf automatisch mehrere Kopien dieses Bildes in verschiedenen Größen in entsprechenden Ordnern (images/product_images/*) an.
    Das Problem ist nun, der Bedarf ist nur gegeben, wenn es im jeweiligen Ordner noch keine Datei mit dem gleichen Namen gibt. Ersetzt man das Originalbild (per FTP) durch ein anderes mit gleichem Dateinamen, bleiben die Kopien auf dem alten Stand. Man müsste diese also alle (manuell) löschen.
    So zumindest mein Kenntnisstand - vielleicht mag das jmd. bestätigen?
     
  12. barbara

    barbara G-WARD 2014-2020

    Registriert seit:
    14. August 2011
    Beiträge:
    35.352
    Danke erhalten:
    11.198
    Danke vergeben:
    1.601
    Jain, man kann die löschen, oder man lässt das imageProcessing einmal laufen
    Das generiert alle Bilder neu.
    Vorsicht!
    Wenn man die Bilder im Ordner original_images gelöscht hatte (weil man keine Zoom-Funktion nutzt und Speicherplatz sparen wollte z.B.), dann werden jetzt durch das ImageProcessing auch alle Bilder in den anderen Ordnern dazu gelöscht.
    Es müssen also alle genutzten Bilder in original_images vorhanden sein.

    Tipp: keine Umlaute, keine Sonderzeichen und keine Leerzeichen in Bildnamen verwenden.
    Das gibt immer wieder Probleme. Nimm anstelle des Leerzeichens besser ein "-" oder "_"
     
  13. Capricorni

    Capricorni Erfahrener Benutzer

    Registriert seit:
    8. August 2015
    Beiträge:
    132
    Danke erhalten:
    1
    Danke vergeben:
    41
    Mit dem Code wird leider gar nichts gefunden und mit dem anderen auch nicht mehr, komisch. Testshop einrichten bin ich gerade bei. Wenn ich das alles so lese, ist es wohl besser, ich ändere das manuell alles ab.
    Wenn ich das abgeändert habe (mit neuem prägnantem Namen), könnte ich dann die alten, definitiv nicht mehr gebrauchten Bilder löschen per FTP? Denn die kleinen Bilder etc, müssten dann ja neu angelegt werden.
    So langsam verliert man vor lauter Bildern ja den Überblick.
     
  14. Capricorni

    Capricorni Erfahrener Benutzer

    Registriert seit:
    8. August 2015
    Beiträge:
    132
    Danke erhalten:
    1
    Danke vergeben:
    41
    Den neuen Namen hab ich schon mit "-" angelegt. Also sollte ich das Bild einzeln neu in den Artikeln betroffenen Artikeln ändern und dann das imageProcessing drüberlaufen lassen?
     
  15. Anonymous

    Anonymous Erfahrener Benutzer

    Registriert seit:
    17. Oktober 2018
    Beiträge:
    126
    Danke erhalten:
    72
    Danke vergeben:
    17
    Der Code aus meinem dritten Beitrag ("UPDATE ...") gibt auch nichts zurück, der ändert nur. Falls es geändert wurde, gibt der Code aus meinem zweiten Beitrag natürlich so nichts mehr zurück, denn er findet ja nichts mehr.

    Wie ich eben in Deinem Shop live überprüfen konnte, hast Du das SQL 1:1 ausgeführt. Das "neuer_dateiname" muss natürlich durch den tatsächlichen Dateinamen ersetzt werden. Ich dachte das wäre klar und habe das nicht extra erwähnt, sorry.

    Du hast also die Datenbank erfolgreich geändert - nur eben nicht mit dem richtigen Eintrag.
    Du musst also das SQL anpassen und nochmal ausführen. Kopiere den folgenden Code und ersetze der_tatsaechliche_neue_dateiname zwischen den einfachen Anführungszeichen mit dem exakten Dateinamen (inkl. Erweiterung .jpg o.ä.) des neuen Bildes, das Du per FTP in images/product_images/original_images/ kopierst. Abschließend dann einmal imageProcessing. Viel Erfolg!
    Code:
    UPDATE
        products_images
    SET
        image_name = 'der_tatsaechliche_neue_dateiname'
    WHERE
        image_name LIKE 'neuer_dateiname';
    Und zur Sicherheit Deines Shops bitte in Zukunft die Warnhinweise zu Operationen an der Datenbank etwas ernster nehmen ;-)
     
  16. Capricorni

    Capricorni Erfahrener Benutzer

    Registriert seit:
    8. August 2015
    Beiträge:
    132
    Danke erhalten:
    1
    Danke vergeben:
    41
    Ups, das hatte ich völlig übersehen. Ich kenne mich mit SQL leider so gar nicht aus das ist für mich völliges Neuland und bis jetzt habe ich das noch nicht gebraucht oder "vermisst".

    Das Bild ist jetzt ja logischerweise weg, weil ich nicht gecheckt habe, was der SQL Befehl macht. Bevor ich also jetzt einen Fehler mache...

    Ich verstehe es also richtig, dass ich die Datei erst in das entsprechende Verzeichnis per FTP hochlade und dann den Code ausführe (am besten im Testshop, wenn ich den zum laufen bekomme), sowie das imageProcessing laufen lasse, wie es Barbara beschrieben hat?
     
  17. Anonymous

    Anonymous Erfahrener Benutzer

    Registriert seit:
    17. Oktober 2018
    Beiträge:
    126
    Danke erhalten:
    72
    Danke vergeben:
    17
    #17 Anonymous, 16. September 2022
    Zuletzt bearbeitet: 17. September 2022
    Zuerst einen Testshop dafür einzurichten kannst Du Dir sparen. Du hast ja bereits an Deiner produktiven Shopdatenbank herum manipuliert und Dir vorübergehend erstmal die "Farbauswahl Wollfilz" in allen Artikeln weggeschossen. Vorher ein Backup der Datenbank zu machen ist jedoch immer ratsam.

    Ja, ich denke Du hast es richtig verstanden.
    1. Lade die neue Datei per FTP in das Verzeichnis images/product_images/original_images/
    2. Passe den SQL-Code aus Posting #17 https://www.gambio.de/forum/threads...allen-artikeln-austauschen.48979/#post-405583 dahingehend an, dass an Stelle von 'der_tatsaechliche_neue_dateiname' tatsächlich der neue Dateiname eingeschlossen in einfache Anführungszeichen steht und führe die SQL Abfrage aus.
    3. Wenn der neue Dateiname nun anders lautet als der alte (entgegen deiner früheren Idee das Bild mit identischem Namen per FTP hochzuladen), gibt es nun für das neue Bild auch keine Dateien (größenskalierte Kopien) mit gleichem Namen. Es ist also kein Image Processing nötig, denn der Shop erstellt die benötigten Kopien wenn diese das erste Mal gebraucht werden automatisch.
    Nochmals viel Erfolg!
     
  18. Capricorni

    Capricorni Erfahrener Benutzer

    Registriert seit:
    8. August 2015
    Beiträge:
    132
    Danke erhalten:
    1
    Danke vergeben:
    41

    Super, vielen lieben Dank für die Hilfe, es hat geklappt :) .