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: Modulproblem mit Modul Erweiterung der Attributanzeige mit Bildern und Kommentar

    Nils

    • Schreiberling
    • Beiträge: 422
    • Geschlecht:
    Hallo,

    nach dem Einbau des Moduls kann man im Backend unter Artikelmerkmale das Bild zu einer Artikelvariante löschen. Leider werden dann alle Bilder gelöscht, falls man dasselbe Bild für mehrere Varianten verwendet. Kann man das irgendwie ändern? Oder muss ich tatsächlich das Bild nochmal für jedes Attribut zusätzlich unter einem anderen Namen speichern?

    Hier ist der entsprechende zu ändernde Code laut Anleitung:

    Code: PHP  [Auswählen]
    admin/includes/modules/products_attributes_action.php


    suche nach ca Zeile 87:

            $value_name = $_POST['value_name'];


    füge danach ein:

                      // BOF Attribute mit Grafik
                      $value_desc = $_POST['value_desc'];
                      if ($image = &xtc_try_upload('value_image'.$i, DIR_FS_CATALOG_IMAGES.'product_images/product_options/')){
                            $paname_arr = explode('.',$image -> filename);
                            $pnsuffix = array_pop($paname_arr);
                            $value_image_name = $_POST['value_id'].'_'. $i .'.' .$pnsuffix;
                            @unlink(DIR_FS_CATALOG_IMAGES.'product_images/product_options/'.$value_image_name);
                            rename(DIR_FS_CATALOG_IMAGES.'product_images/product_options/'.$image ->filename, DIR_FS_CATALOG_IMAGES.'product_images/product_options/'. $value_image_name);
                           
                      }
                       xtc_db_query("insert into " . TABLE_PRODUCTS_OPTIONS_VALUES . " values ('".$_POST['value_id']."', '".$languages[$i]['id']."', '".$value_name[$languages[$i]['id']]."', '".$value_desc[$languages[$i]['id']]."', '".$value_image_name."')");
                      // EOF Attribute mit Grafik


    suche nach ca Zeile 111:

            $value_name = $_POST['value_name'];


    füge danach ein:

                    $value_desc = $_POST['value_desc']; // Attribute mit Grafik


    suche nach ca Zeile 112:

             for ($i = 0, $n = sizeof($languages); $i < $n; $i ++) {       


    füge danach ein:

                           
                        // BOF Attribute mit Grafik
                            if($_FILES['value_image'.$i]['name'] != '') {
                                    if ($image = &xtc_try_upload('value_image'.$i, DIR_FS_CATALOG_IMAGES.'product_images/product_options/')){
                                      $paname_arr = explode('.',$image -> filename);
                                      $pnsuffix = array_pop($paname_arr);
                                      $value_image_name = $_POST['value_id'].'_'. $i .'.' . $pnsuffix;
                                       @unlink(DIR_FS_CATALOG_IMAGES.'product_images/product_options/'.$value_image_name);
                                      rename(DIR_FS_CATALOG_IMAGES.'product_images/product_options/'.$image -> filename, DIR_FS_CATALOG_IMAGES.'product_images/product_options/'.$value_image_name);
                                     
                                      // sql update ergaenzen
                                      $image_sql = ', products_options_values_image =\''.$value_image_name. '\'';
                                    }
                            } elseif($_POST['del_value_image'. $i] == true) { // bild loeschen
                                    $image_sql = ', products_options_values_image = \'\'';
                                    unlink(DIR_FS_CATALOG_IMAGES.'product_images/product_options/'.$_POST['del_value_image'. $i]);
                            } else {
                                    $image_sql = '';
                            }
                        // EOF Attribute mit Grafik
                           


    suche nach ca Zeile 119:

                $update = xtc_db_perform(TABLE_PRODUCTS_OPTIONS_VALUES, $sql_data_array, 'update', "products_options_values_id = '".(int)$_POST['value_id']."' AND language_id = '".$languages[$i]['id']."'");


    füge danach ein:

                           
                            // BOF Attribute mit Grafik
                            xtc_db_query("update " . TABLE_PRODUCTS_OPTIONS_VALUES . " set products_options_values_name = '" . $value_name[$languages[$i]['id']] . "', products_options_values_desc = '" . $value_desc[$languages[$i]['id']] . "' ".$image_sql ." where products_options_values_id = '" . $_POST['value_id'] . "' and language_id = '" . $languages[$i]['id'] . "'");
                            // EOF Attribute mit Grafik                    
           
     

    MFG
    Nils

    Linkback: https://www.modified-shop.org/forum/index.php?topic=33049.0

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 14.026
    • Geschlecht:
    Ich denke nicht, daß hier viele verstehen um welche Erweiterung es sich handelt.
    Warum postest du das Problem nicht im Thread der Erweiterung selbst ?

    Gruß,
    noRiddle

    fishnet

    • Fördermitglied
    • Beiträge: 4.821
    • Geschlecht:

    web0null

    • Experte
    • Beiträge: 1.998
    Sollte eigentlich nicht passieren, denn soweit ersichtlich bekommt das Bild,
    eine eindeutige ID (value_id), das sollte die "products_options_values_id" aus "TABLE_PRODUCTS_OPTIONS_VALUES" sein.
    Code: PHP  [Auswählen]
    $value_image_name = $_POST['value_id'].'_'. $i .'.' . $pnsuffix;

    Somit müsste jedes Bild einen eindeutigen Namen haben.

    Überprüfe mal was für ein Name beim löschen übertragen wird.
    Das findet mit folgendem statt,
    Code: PHP  [Auswählen]
    } elseif($_POST['del_value_image'. $i] == true) { // bild loeschen
                                        $image_sql = ', products_options_values_image = \'\'';
                                        unlink(DIR_FS_CATALOG_IMAGES.'product_images/product_options/'.$_POST['del_value_image'. $i]);
                                }
    Wichtig ist hierbei die "products_options_values_id"

    Gruß
    24 Antworten
    13230 Aufrufe
    06. Januar 2011, 17:01:35 von high12
    2 Antworten
    3872 Aufrufe
    26. Juni 2012, 22:30:06 von drfoppy
    4 Antworten
    2848 Aufrufe
    25. Oktober 2010, 14:57:28 von Tomcraft
    4 Antworten
    2592 Aufrufe
    06. Oktober 2010, 06:41:38 von Martina
               
    anything