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: Admin-Backend - Suche - Produkt verschieben

    elainy

    • Fördermitglied
    • Beiträge: 78
    Admin-Backend - Suche - Produkt verschieben
    am: 30. Juni 2011, 13:57:48
    Wenn man in der Suche im Admin-Backend ein Produkt sucht und dieses dann selektiert und auf "verschieben" klickt, so funktioniert anschließend das Verschieben nicht, weil an der Stelle der Wert src_category_id im form 0 ist.

    Folgendes schafft Abhilfe.
    In der admin/categories.php oben bei den includes folgendes Adden:

    Code: PHP  [Auswählen]
    require_once (DIR_FS_INC.'xtc_get_product_path.inc.php');
    require_once (DIR_FS_INC.'xtc_get_parent_categories.inc.php');
    Weiter unten das:

    Code: PHP  [Auswählen]
                                    if (is_array($_POST['multi_products']) && xtc_not_null($_POST['move_to_category_id']) && xtc_not_null($_POST['src_category_id'])) {
                                            foreach ($_POST['multi_products'] AS $product_id) {
                                                    $product_id = xtc_db_prepare_input($product_id);
                                                    $src_category_id = xtc_db_prepare_input($_POST['src_category_id']);
                                                    $dest_category_id = xtc_db_prepare_input($_POST['move_to_category_id']);
                                                    $catfunc->move_product($product_id, $src_category_id, $dest_category_id);
                                            }
                                    }
    mit dem:

    Code: PHP  [Auswählen]
                                    if (is_array($_POST['multi_products']) && xtc_not_null($_POST['move_to_category_id']) && (xtc_not_null($_POST['src_category_id']) || $_POST['src_category_id']==0)) {
                                            foreach ($_POST['multi_products'] AS $product_id) {
                                                    if($_POST['src_category_id']==0) {
                                                            $prodPath=xtc_get_product_path($product_id);
                                                            if(strrchr($prodPath,"_")===FALSE)
                                                                    $prodKat=$prodPath;
                                                            else {
                                                                    $temp = explode('_',$prodPath);
                                                                    $prodKat=array_pop($temp);
                                                            }
                                                            if($prodKat>0)
                                                                    $src_category_id = $prodKat;
                                                            else
                                                                    continue;
                                                    } else {
                                                            $src_category_id = xtc_db_prepare_input($_POST['src_category_id']);
                                                    }
                                                    $product_id = xtc_db_prepare_input($product_id);
                                                    $dest_category_id = xtc_db_prepare_input($_POST['move_to_category_id']);
                                                    $catfunc->move_product($product_id, $src_category_id, $dest_category_id);
                                            }
                                    }
    ersetzen.



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

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.369
    • Geschlecht:
    Admin-Backend - Suche - Produkt verschieben
    Antwort #1 am: 30. Juni 2011, 15:03:25
    Danke dir ganz herzlich, das werden sich die Entwickler sicherlich gleich mal anschauen! :thx:

    Grüße

    Torsten

    cooler

    • Mitglied
    • Beiträge: 190
    • Geschlecht:
    Re: Admin-Backend - Suche - Produkt verschieben
    Antwort #2 am: 27. Dezember 2012, 23:07:35
    Hallo, ist diese Änderung bereits in einer neuen Version von modified dabei? Vielen Dank an Torsten für die Rückmeldung.

    kaisa

    • Schreiberling
    • Beiträge: 365
    Re: Admin-Backend - Suche - Produkt verschieben
    Antwort #3 am: 09. Dezember 2014, 08:41:23
    klasse, Lösung schnell über die Suche gefunden. Das nervte seit langem. Warum das im Herbst 2013 noch nicht in der 1.06 drin war, ist mir ein Rätsel. Hoffentlich inzwischen implementiert.

    Danke für die Lösung.

    Der größere Block steht übrigens hinter
    Zitat
    //move multi_products
    ab ca. Zeile 248

    web28

    • modified Team
    • Beiträge: 9.404
    Re: Admin-Backend - Suche - Produkt verschieben
    Antwort #4 am: 10. Dezember 2014, 18:17:37
    Übder die Suche darf man keine Artikel verschieben, da es bei verlinkten Produkten keine eindeutige Ursprungs category_id gibt. Dann ist unklar VON wo man verschieben will.

    Danz ganze müsste also anders gelöst werden:
    Falls Artikel nur in einer Kategorie -> verschieben
    Falls Artikel in mehreren Kategorien -> Abbruch mit Infomeldung

    Testet mal mit diesem Code:

    Code: PHP  [Auswählen]
    if (is_array($_POST['multi_products']) && xtc_not_null($_POST['move_to_category_id'])) {
              foreach ($_POST['multi_products'] AS $product_id) {
                if ($_POST['src_category_id'] == 0) {
                  $db_query = xtc_db_query(
                      "SELECT categories_id
                         FROM "
    . TABLE_PRODUCTS_TO_CATEGORIES. "
                         WHERE products_id = '"
    . (int)$product_id . "'
                      "
    );
                  if (xtc_db_num_rows($db_query) == 1) {
                    $db_data = xtc_db_fetch_array($db_query);
                    $_POST['src_category_id'] = $db_data['categories_id'];
                  }
                }
                if ($_POST['src_category_id'] != 0) {
                  $product_id = xtc_db_prepare_input($product_id);
                  $src_category_id = xtc_db_prepare_input($_POST['src_category_id']);
                  $dest_category_id = xtc_db_prepare_input($_POST['move_to_category_id']);
                  $catfunc->move_product($product_id, $src_category_id, $dest_category_id);
                } else {
                  //TODO FEHLERMELDUNG
                }
              }
            }

    Bonsai

    • Viel Schreiber
    • Beiträge: 4.127
    • Geschlecht:
    Re: Admin-Backend - Suche - Produkt verschieben
    Antwort #5 am: 11. Dezember 2014, 19:19:19
    Zitat
    Falls Artikel in mehreren Kategorien -> Abbruch mit Infomeldung
    Gefällt mir persönlich nicht!

    Folgender Vorschlag:

    Infomeldung, Artikel in folgenden Kategorien:
    Liste
    ...
    ...

    Wollen sie wirklich den Artikel aus den oben genannten Kategorien entfernen und nur noch in Kategorie xy haben?

    Buttons: JA Abbrechen

    WAdenfrtin

    • Neu im Forum
    • Beiträge: 3
    • Geschlecht:
    Re: Admin-Backend - Suche - Produkt verschieben
    Antwort #6 am: 13. Dezember 2014, 06:42:22
    Vielen Dank für die Informationen, obwohl ich das nicht brauche, aber ich bin daran interessiert,
    Managed Server
    1 Antworten
    2259 Aufrufe
    13. April 2011, 13:59:10 von Tomcraft
    3 Antworten
    2679 Aufrufe
    02. September 2010, 08:43:19 von jannemann
    15 Antworten
    10305 Aufrufe
    15. Dezember 2010, 11:59:37 von LordMeuchelmord