Das Produktbilderproblem - Imageprocessing

  • Hallo zusammen,


    ich steh mal wieder vor einer schier unlösbaren Aufgabe, wobei mir auch die Suchfunktion nicht wirklich weiter geholfen hat.
    Zuallererst, mein Hoster ist 1&1 - die Installation von Commerce SEO v2 verlief soweit ganz ok, und ich hab
    den Shop soweit eingerichtet. Jetzt ist das Problem, dass ich alle Artikel zwar soweit angelegt habe per CSV,
    jedoch die Bilder nachträglich in den Ordner "original images" auf den FTP geschoben habe.
    Auch wenn ich danach nochmal die CSV mitsamt der jeweiligen Bildnamen hochlade und importiere,
    kriege ich keine Produktbilder angezeigt.


    Wie kriege ich es hin, dass die Produktbilder rein kommen? Die Dateinamen stimmen überein - hab es auch in der SEO Config so angegeben, dass p_name verwendet werden soll,
    also der Original Bildname.


    Hat jemand eine Idee? Das Imageprocessing schmiert übrigens in allen Varianten mit einem Fehler ab.
    Woran liegt das?

  • Guten Morgen
    Ich meine es kommen mehrere Möglichkeiten in Frage weshalb es nicht funktioniert:
    1. Könntest du mal eine komplette Zeile aus deiner CSV posten?
    2. Welches Bildformat (*.gif, *jpg; *,png) nutzt und wie große (KB/MB) hat ein Bild?
    3. Unterstützt der Server das entsprechend (gd_library und oder image_magick, ersteres sicherlich, zweites nicht zwangsläufig, aber meist auch nicht erforderlich)?
    4. Kommt eine Fehlermeldung die du siehst und kannst diese hier posten?
    5. Zuletzt die Frage, hast du schon einmal versucht ein Bild manuell zu einem Produkt hochzuladen?
    6. Die Ordner für die Bilder haben auf dem Server Schreibrechte (chmod 777 z.B.)?


    Viele Grüße und schönes WE

  • Ich möchte an dieser Stelle das Thema nochmals aufgreifen, da zum Teil mein Problem mit der o.a. genannten Beschreibung zu tun hat.
    Normalerweise werden alle Images zu Kategorien, Produkten und Artikeln per Import-Skript in der Datenbank angelegt, die Bilder-Dateien per FTP in die jeweiligen Verzeichnisse kopiert.
    Allerdings kommt es vor, dass einmal schnell diese importierten Daten geändert werden müssen, also andere Bilder über die Admin-Verwaltung eingefügt werden müssen. Und hier liegt das Problem:
    1. In der SEO Config wurde als Namensformat für Kategorien c_image und für Produkte p_image ausgewählt (also Bildernamen beibehalten)
    2. Die Bildnamen enthalten Unterstriche im Filenamen (z.B. Kategoriebild_254x164_Artikel_01.jpg). Diese Unterstriche gehen nach dem Speichern verloren.
    Anpassung der preg_replace Funktion in inc/cseo_get_url_friendly_text.inc.php (ca. in Zeile 18):

    Code
    1. alt:$validUrl = preg_replace("/[^a-z0-9-]/i","", $validUrl);


    Code
    1. neu:$validUrl = preg_replace("/[^a-z0-9-_]/i","", $validUrl); // der Unterstrich nach 9- ist es


    3. Die Bilder werden zwar im upload hochgeladen aber 3 Zeilen weiter wieder gelöscht. Der Eintrag mit dem jetzt richtigen Filenamen steht zwar in der Datenbank , aber das File ist weg.
    Hierzu folgende Anpassungen in admin/includes/classes/categories.php (ca. Zeile 190, ca. Zeile 568)

    Code
    1. alt:@unlink(DIR_FS_CATALOG_IMAGES.'categories_org/'.$categories_image_name);


    Code
    1. ändern in:if(IMAGE_NAME_CATEGORIE == 'c_id' || IMAGE_NAME_CATEGORIE == 'c_name') @unlink(DIR_FS_CATALOG_IMAGES.'categories_org/'.$categories_image_name); // File nicht löschen wenn c_image


    Für die weiteren Produktbilder:

    Code
    1. alt:$products_image_name = $new_products_name.'-'.($img +1).'.'.strtolower($nsuffix);


    Code
    1. ändern in:if(IMAGE_NAME_PRODUCT == 'p_id' || IMAGE_NAME_PRODUCT == 'p_name') $products_image_name = $new_products_name.'-'.($img +1).'.'.strtolower($nsuffix);else $products_image_name = $new_products_name.'.'.strtolower($nsuffix); // Filename beibehalten, ist eindeutig, also kein Zähler anhängen


    Ein Paar Zeilen weiter unten dann:

    Code
    1. alt:@xtc_del_image_file($products_image_name);


    Code
    1. ändern in:
    2. if(IMAGE_NAME_PRODUCT == 'p_id' || IMAGE_NAME_PRODUCT == 'p_name')
    3. @xtc_del_image_file($products_image_name); // lösche das File nicht bei p_image


    Jetzt bleiben die Files erhalten, die Filenamen werden nicht geändert und die weitere Verarbeitung des Imageprocessing funktioniert ebenfalls.