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: Titel und Beschreibung für Artikelbilder werden teilweise nicht gespeichert?

    p3e

    • Experte
    • Beiträge: 2.424
    In der Tabelle product_image habe ich (nur als Beispiel) von einem Produkt, von dem ich vier Bilder habe insgesamt 42 Einträge. Kann es sein, dass der Shop beim Kopieren eines Artikels, dem Hochladen neuer Artikel und Abspeichern jedesmal zusätzliche Einträge bei der Tabelle product_image macht ohne die alte zu löschen?

    p3e

    • Experte
    • Beiträge: 2.424
    Ja, das ist es: Wenn ich ein Produkt Dupliziere und dann beim neuen Produkt neue Produktbilder einpflege, dann werden in der Tabelle products_images die alten Bilder nicht gelöscht. Wenn ich so weiter machen, werden es immer mehr Einträge in der Tabelle products_images pro Artikel. Das duplizieren ist nicht das Problem, sondern das neue hochladen von Produktbildern. Dann existieren plötzlich zahlreiche gleiche image_nr's für das selbe Produkt jedoch wiederum mit teilweise veralteten image_id's. Unter der veralteten image_id existiert in der Tabelle products_images_description aber kein Eintrag mehr, da der beim Löschen des Bildes auch gelöscht wird.

    GTB

    • modified Team
    • Gravatar
    • Beiträge: 6.306
    • Geschlecht:
    Das war es. Danke für deine Hartnäckigkeit.

    Hier die Lösung:

    /admin/includes/modules/products_images.php

    suche das hier:
    Code: PHP  [Auswählen]
          echo xtc_draw_hidden_field('products_previous_image_'. ($i +1), (isset($mo_images[$i]['image_name']) ? $mo_images[$i]['image_name'] : ''));

    und ersetze es mit dem hier:
    Code: PHP  [Auswählen]
          echo xtc_draw_hidden_field('products_previous_image_'. ($i +1), (isset($mo_images[$_SESSION['languages_id']][$i]['image_name']) ? $mo_images[$_SESSION['languages_id']][$i]['image_name'] : ''));

    Dann musst du nur noch die falschen Einträge in der DB löschen.

    Gruss Gerhard

    Timm

    • Fördermitglied
    • Beiträge: 6.258
    Moin

    Die Stelle ist in 2.0.7.2 auch so. Sollte man das da auch ändern?

    Gruß Timm

    GTB

    • modified Team
    • Gravatar
    • Beiträge: 6.306
    • Geschlecht:
    Nein !!!
    Das ist erst ab Shopversion 3.0.0 notwendig.

    Gruss Gerhard

    p3e

    • Experte
    • Beiträge: 2.424
    Danke Gerhard!

    p3e

    • Experte
    • Beiträge: 2.424
    Dann musst du nur noch die falschen Einträge in der DB löschen.

    Gruss Gerhard
    Um die doppelten Einträge zu löschen, habe ich folgenden sql-Befehl genutzt:
    Code: SQL  [Auswählen]
    DELETE FROM products_images
    WHERE (image_name, image_id) NOT IN (
        SELECT image_name, MAX(image_id)
        FROM products_images
        GROUP BY image_name
    );
    ACHTUNG: Unbedingt vorher zur Sicherheit ein Datenbank Backup machen!

    HaldOn

    • Fördermitglied
    • Beiträge: 552
    Hallo Gerhard,
    die Änderung
    Zitat
    /admin/includes/modules/products_images.php

    suche das hier:
    Code: PHP  [Auswählen]
     
    Code: PHP  [Auswählen]
         echo xtc_draw_hidden_field('products_previous_image_'. ($i +1), (isset($mo_images[$i]['image_name']) ? $mo_images[$i]['image_name'] : ''));

    und ersetze es mit dem hier:
    Code: PHP  [Auswählen]
         
    Code: PHP  [Auswählen]
    echo xtc_draw_hidden_field('products_previous_image_'. ($i +1), (isset($mo_images[$_SESSION['languages_id']][$i]['image_name']) ? $mo_images[$_SESSION['languages_id']][$i]['image_name'] : ''));

    Dann musst du nur noch die falschen Einträge in der DB löschen.

    verhindert die Aktualisierung der Artikel.
    Bei Änderung zB. der Stückzahl im Artikel wird diese nicht übernommen.

    Errorlog
    Code: PHP  [Auswählen]
    [2024-06-25 12:55:39]   [error] [modified]      [pid:18410]     ERROR found for URL: /admin/categories.php?search=b502&page=1&cPath=1&pID=1&action=new_product  {}      {}
    [2024-06-25 12:55:39]   [error] [modified]      [pid:18410]     syntax error, unexpected token "}", expecting "," or ";" in File: /xxx/xxx/admin/includes/modules/products_images.php on Line: 90       {}      {}

    Nach Rückänderung läuft es wieder.

    @P3e
    vielleicht kannst du es auch mal testen

    Gruß Andre

    karsta.de

    • Experte
    • Beiträge: 3.156
    Also bei mir funktionierts nach der Änderung der /admin/includes/modules/products_images.php alles wie es soll.

    BG Karsta

    Timm

    • Fördermitglied
    • Beiträge: 6.258
    Moin

    Bei mir auch. Und in Zeile 90 steht auch eine geschweifte Klammer. Da scheinst du weiter oben was falsch geändert zu haben zb eine öffnende Klammer gelöscht.

    Poste den Inhalt der geänderten Datei mal hier. Dann kann vielleicht jemand drüberschauen.

    Gruß Timm

    HaldOn

    • Fördermitglied
    • Beiträge: 552
    Alles Zurück, sorry.

    Der Fehler lag bei mir, beim Kopieren fehlte das ";" am ende der Zeile ...

    Gruß Andre
    13 Antworten
    9921 Aufrufe
    21. Oktober 2010, 11:57:48 von h-h-h
    15 Antworten
    9317 Aufrufe
    29. Mai 2013, 18:27:33 von toppi
    13 Antworten
    8963 Aufrufe
    08. Mai 2018, 16:11:32 von Tomcraft