Neuigkeiten
  • Die modified eCommerce Shopsoftware ist kostenlos, aber nicht umsonst.
    Spenden
  • Damit wir die modified eCommerce Shopsoftware auch zukünftig kostenlos anbieten können:
    Spenden
  • Thema: Bilder im Shop

    goiko

    • Frisch an Board
    • Beiträge: 55
    Bilder im Shop
    am: 01. Dezember 2015, 18:34:36
    Hallo,

    wenn ich im Shop einen neuen Artikel anlege kommt es manchmal vor, das bei anderen, bestehenden Artikeln das Artikelbild geändert wird auf das Bild von dem neuen Artikel. Die Artikel haben aber nichts miteinander zu tun.
    Das gleiche hatte ich schon bei Kategorien. Artikel waren auf einmal in mehreren Kategorien verlinkt.
    Woran kann das liegen?

    Linkback: https://www.modified-shop.org/forum/index.php?topic=33998.0
    Modulshop - Eine große Auswahl an neuen und hilfreichen Modulen für die modified eCommerce Shopsoftware

    Bonsai

    • Viel Schreiber
    • Beiträge: 4.127
    • Geschlecht:
    Re: Bilder im Shop
    Antwort #1 am: 02. Dezember 2015, 09:26:22
    Habe ich auch gelegentlich, aber nur wenn ich einen Artikel kopiere, und dann bei der Kopie vergesse die Artikelnummer anzupassen. Also entweder Finger weg vom Kopieren von Artikeln, oder genau aufpassen, wenn man das macht.

    goiko

    • Frisch an Board
    • Beiträge: 55
    Re: Bilder im Shop
    Antwort #2 am: 02. Dezember 2015, 11:24:07
    Das kann damit zusammen hängen.
    Die neuen Artikel habe ich alle kopiert aber die Artikelnummern gleich angepasst.
    Muß ich mal weiter beobachten.

    web0null

    • Experte
    • Beiträge: 1.998
    Re: Bilder im Shop
    Antwort #3 am: 02. Dezember 2015, 12:45:26
    Das Problem ist ein ganz "simpler" Logik Fehler (in der Programmierung).
    Schaut euch nach dem Kopieren mal die "pID" in der Adresszeile an.
    Da werdet ihr merken dass ihr in dem Produkt landet welches ihr kopiert habt, statt in dem neu erstellten Produkt (wie man es erwarten würde).

    Somit ändert man irrtümlich das "alte" Produkt.
    Hatte ich hier schon mal geschrieben.

    ...und hier sollte die Lösung sein.

    Gruß

    Bonsai

    • Viel Schreiber
    • Beiträge: 4.127
    • Geschlecht:
    Re: Bilder im Shop
    Antwort #4 am: 02. Dezember 2015, 13:53:21
    :good: :thx:

    Gleich mal einbauen! Das zerhaut einem ja die Google Rankings wenn man nicht aufpasst. Erklärt auch, warum bei mir manchmal ein neues Produkt gar nicht unter neue Produkte gelistet wurde. Gut, dass ich die Funktion Artikel kopieren nur in absoluten Ausnahmefällen eingesetzt hatte.

    goiko

    • Frisch an Board
    • Beiträge: 55
    Re: Bilder im Shop
    Antwort #5 am: 02. Dezember 2015, 17:04:44
    Das wars wohl.
    Hab ich eingebaut und funktioniert perfekt.
    Besten Dank.

    goiko

    • Frisch an Board
    • Beiträge: 55
    Re: Bilder im Shop
    Antwort #6 am: 03. Dezember 2015, 15:26:45
    Das war es wohl doch noch nicht.
    Bei bestehenden Artikeln ist es das gleiche.
    Wenn ich ein Bild lösche und ein neues eingebe, wird bei einem anderen Artikel das Bild mit geändert auf das gleiche Bild. Das Bild was vorher vorhanden war hat die gleiche Nummer wie das neue Bild von dem anderen Artikel. Das kann doch nur irgendwie mit der Nummernvergabe zu tun haben.

    Bonsai

    • Viel Schreiber
    • Beiträge: 4.127
    • Geschlecht:
    Re: Bilder im Shop
    Antwort #7 am: 03. Dezember 2015, 16:22:32
    Ich erinnere mich an ein ähnliches Problem. Sind irgendwelche Artikel-import Routinen im Einsatz?

    Die Bildnummer (wie 250_0.jpg) sollte immer identisch sein mit der products_id

    goiko

    • Frisch an Board
    • Beiträge: 55
    Re: Bilder im Shop
    Antwort #8 am: 03. Dezember 2015, 16:34:29
    Also die Bildnummer und die Artikelnummer stimmen nicht in allen Fällen überein.
    Ich habe einige Artikel aus einem alten Shopsystem mit übernommen. Kann das damit zusammenhängen.

    Bonsai

    • Viel Schreiber
    • Beiträge: 4.127
    • Geschlecht:
    Re: Bilder im Shop
    Antwort #9 am: 03. Dezember 2015, 17:03:56
    Ich hatte einen Bug in einer selbstgestrickten Importroutine, da ist genau das passiert. Sobald man den Artikel mit der falschen Bildnummer manuell angefasst hat, hatte einer der beiden Artikel das falsche Bild.

    Das sollte die Bilder richtig anlegen:
    Code: PHP  [Auswählen]
    <?php
    require_once('includes/application_top.php');
    $sql = "SELECT products_id, products_image FROM products";
    $res = xtc_db_query($sql);
    $products = xtc_db_fetch_array($res);
    $dir_orig="images/product_images/original_images/";
    $dir_final="images/product_images/original_images_new/";
    $dir_backup="images/product_images/original_images_backup/";
    mkdir($dir_final); //Ordner anlegen
    copy ($dir_orig . 'index.html', $dir_final . 'index.html'); // index.html brauchen wir noch
    foreach ($products as $product) {
       $file = explode('_',$product['products_image']);
       copy ($dir_orig . $product['products_image'], $dir_final . $product['products_id'] . '_' . $file[1])
    }

    rename($dir_orig,$dir_backup);
    rename($dir_final,$dir_new);

    ?>

    Jetzt nochmal die Rechte für den Ordner checken!
    images/product_images/original_images sollte die Rechte bekommen die auf images/product_images/original_images_backup sind!

    Dann einmal imageprocessing anwerfen!

    ACHTUNG! UNGETESTET! BACKUP VORHER!!!

    Edit: Das ganze in eine fix_images.php Datei in den Shoproot. Und die Datei nach ausführen von http://deinshop.de/fix_images.php unbedingt danach löschen! Achtung, läuft eventuell in einen Timeout, wenn ja, nochmal melden!

    Nochmal Edit:  :stop: kommt nochwas. Hatte einen wichtigen Schritt vergessen!

    Bonsai

    • Viel Schreiber
    • Beiträge: 4.127
    • Geschlecht:
    Re: Bilder im Shop
    Antwort #10 am: 03. Dezember 2015, 17:13:11
    fix_db.php
    Code: PHP  [Auswählen]
    <?php
    require_once('includes/application_top.php');
    $sql = "SELECT products_id, products_image FROM products";
    $res = xtc_db_query($sql);
    $products = xtc_db_fetch_array($res);
    foreach ($products as $product) {
       $file = explode('_',$product['products_image']);
       $sql = "UPDATE products SET products_image='" . $product['products_id'] . '_' . $file[1] . "' WHERE products_id = '" . $product['products_id'] . "'";
       if (!xtc_db_query($sql)) echo "ERROR: Irgendwas ist faul!";
    }
    ?>
    Das hier muss VOR dem imageprocessing ausgeführt werden.

    Teste das ganze aber ERST NACH BACKUP, oder nicht am liveshop!

    Das war mal eben schnell runter getippt, eventuell sind noch Syntax- oder Logikfehler drin.

    Edit: bin heute irgendwie nicht bei der Sache .... das schreiben in die DB hat gefehlt ....

    goiko

    • Frisch an Board
    • Beiträge: 55
    Re: Bilder im Shop
    Antwort #11 am: 04. Dezember 2015, 14:39:28
    Hallo,

    irgendwie passiert da nichts.
    Wenn ich das ausführe gibt es nur noch die Dateien "images/product_images/original_images_backup"
    und "images/product_images/original_images_new" .
    Die Datei "images/product_images/original_images" ist dann verschwunden.

    Bonsai

    • Viel Schreiber
    • Beiträge: 4.127
    • Geschlecht:
    Re: Bilder im Shop
    Antwort #12 am: 04. Dezember 2015, 14:53:06
    Code: PHP  [Auswählen]
    <?php
    require_once('includes/application_top.php');
    $sql = "SELECT products_id, products_image FROM products";
    $res = xtc_db_query($sql);
    $products = xtc_db_fetch_array($res);
    $dir_orig="images/product_images/original_images/";
    $dir_final="images/product_images/original_images_new/";
    $dir_backup="images/product_images/original_images_backup/";
    mkdir($dir_final); //Ordner anlegen
    copy ($dir_orig . 'index.html', $dir_final . 'index.html'); // index.html brauchen wir noch
    foreach ($products as $product) {
       $file = explode('_',$product['products_image']);
       copy ($dir_orig . $product['products_image'], $dir_final . $product['products_id'] . '_' . $file[1])
    }

    rename($dir_orig,$dir_backup);
    rename($dir_final,$dir_orig);

    Jetzt passt es. Fehler in der letzten Zeile.

    Du kannst aber auch einfach den
    images/product_images/original_images_new
    manuell umbennennen in
    images/product_images/original_images
    weil das Script jetzt in einen Fehler laufen würde.

    Dann das php script laufen lassen für die Datenbank.

    Noch ein Hinweis:
    Durch das Browser caching kann es sein, dass Du oder Deine Kunden nach der Aktion falsche Bilder angezeigt bekommen, bis der Browser cache leer oder veraltet ist.

    Bonsai

    • Viel Schreiber
    • Beiträge: 4.127
    • Geschlecht:
    Re: Bilder im Shop
    Antwort #13 am: 04. Dezember 2015, 14:54:42
    Hast Du für manche Artikel mehrere Produktbilder? Dann müssten wir nochmal von vorne starten .....

    goiko

    • Frisch an Board
    • Beiträge: 55
    Re: Bilder im Shop
    Antwort #14 am: 04. Dezember 2015, 15:12:40
    Ja hab ich.
    3 Antworten
    2486 Aufrufe
    20. Juni 2014, 23:27:29 von Matt
    3 Antworten
    2613 Aufrufe
    27. April 2014, 15:35:19 von noRiddle (revilonetz)
    1 Antworten
    623 Aufrufe
    20. Mai 2022, 22:47:31 von Die-3D-Techniker
    30 Antworten
    15389 Aufrufe
    18. August 2009, 13:03:48 von Tomcraft
               
    anything