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: Import-Optionen wie Sonderpreise und löschen

    Dwza

    • Frisch an Board
    • Beiträge: 82
    Import-Optionen wie Sonderpreise und löschen
    am: 10. August 2017, 16:07:04
    Ich programmiere aktuell mal wieder an einem Modified-Shop und hier sind mir 2 Dinge aufgefallen bei denen ich nicht verstehe wie das umgesetzt werden kann (ohne das Rad neu zu erfinden).

    Problem 1:

    Beim Importieren neue und bestehender Artikel würde ich gerne einen Parameter mit geben der sagt, wenn der Artikel als alt/löschbar (oder was auch immer) markiert wurde, dass dieser Artikel gelöscht wird. Allerdings hab ich keine einzige Funktion gefunden die das macht. Also Artikel löschen.
    Klar kann ich ein eigenes Script machen aber dann muss ich entsprechend erst mal schauen wo der Artikel überall verankert ist... Es sei denn die DB hat entsprechende Fremdschlüssel.

    Problem 2:

    Ich würde gerne beim Importieren von Artikeln einen Sonderpreis vergeben. Das funktioniert ja an sich auch. Wenn ich aber, sagen wir mal 3 Kundengruppen habe, welche auch unterschiedliche Preise haben dann bekommen alle den gleichen Preis.

    Beispiel:
    Kundengruppe A: 20€ (Händler)
    Kundengruppe B: 25€ (Endverbraucher)
    Kundengruppe C: 15€ (Großhändler)

    wenn ich jetzt einen Sonderpreis vergebe, dann wird bei allen der Preis auf sagen wir mal 10€ gesetzt. Würde diesen Preis aber gerne nach % reduzieren. Also sagen wir mal zu 50%. Ist das von Haus aus realisierbar ?

    Was den Delete angeht habe ich nun einfach mal die xtc_db_query.inc.php kopiert und etwas umgebaut...
    Ungetestet sollte das aber funktionieren... denke ich:

    Code: PHP  [Auswählen]
    function xtc_db_delete($model, $link = 'db_link') {

        global $$link;

        $id_query = "SELECT DISTINCT products_id FROM `products` WHERE `products_model` = {$model}";

        $query = "
       
        DELETE FROM `products_attributes` WHERE products_id = ( {$id_query} );
        DELETE FROM `products_content` WHERE products_id = ( {$id_query} );
        DELETE FROM `products_description` WHERE products_id = ( {$id_query} );
        DELETE FROM `products_graduated_prices` WHERE products_id = ( {$id_query} );
        DELETE FROM `products_images` WHERE products_id = ( {$id_query} );
        DELETE FROM `products_notifications` WHERE products_id = ( {$id_query} );
        DELETE FROM `products_to_categories` WHERE products_id = ( {$id_query} );
        DELETE FROM `products_xsell` WHERE products_id = ( {$id_query} );
        DELETE FROM `reviews` WHERE products_id = ( {$id_query} );
        DELETE FROM `reviews_description` WHERE reviews_id = (SELECT reviews_id FROM reviews WHERE products_id = ( {$id_query} ));
        DELETE FROM `products` WHERE products_id = ( {$id_query} );
        "
    ;



        $result = mysql_query($query, $$link) or xtc_db_error($query, mysql_errno(), mysql_error());

        if (defined('STORE_DB_TRANSACTIONS') && STORE_DB_TRANSACTIONS == 'true') {
            error_log('QUERY ' . $query . "\n", 3, STORE_PAGE_PARSE_TIME_LOG);
            //EOF - DokuMan - 2010-02-25 - also check for defined STORE_DB_TRANSACTIONS constant
            $result_error = mysql_error();
            error_log('RESULT ' . $result . ' ' . $result_error . "\n", 3, STORE_PAGE_PARSE_TIME_LOG);
        }

        return $result;
    }

    den rest hab ich einfach mal drin stehen lassen...

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

    web28

    • modified Team
    • Beiträge: 9.404
    Re: Import-Optionen wie Sonderpreise und löschen
    Antwort #1 am: 10. August 2017, 21:15:32
    Wenn man nachverfolgt wie Artikel im Backend gelöscht werden kommt auf admin/includes/classes/categories.php

    Und hier dann die Methode function remove_product($product_id).

    Und anstatt mysql_query() nimmt man grundsätzlich die Shopfunktion xtc_db_query()!

    Man kann sich das alles in den PHP Dateien abschauen.

    Gruss Web28

    Dwza

    • Frisch an Board
    • Beiträge: 82
    Re: Import-Optionen wie Sonderpreise und löschen
    Antwort #2 am: 11. August 2017, 14:49:38
    Und anstatt mysql_query() nimmt man grundsätzlich die Shopfunktion xtc_db_query()!

    Ist ja auch richtig, was ich ja im Ausgangspost auch so gesagt habe...

    Was den Delete angeht habe ich nun einfach mal die xtc_db_query.inc.php kopiert und etwas umgebaut...

    Eigentlich habe ich nur die delete statements hinzugefügt um eine Datei wie categories.php zu haben. Aber es war mir bis dahin nicht bewusst das es diese so gibt.

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.975
    • Geschlecht:
    Re: Import-Optionen wie Sonderpreise und löschen
    Antwort #3 am: 12. August 2017, 18:13:49
    ...
    Problem 2:

    Ich würde gerne beim Importieren von Artikeln einen Sonderpreis vergeben. Das funktioniert ja an sich auch. Wenn ich aber, sagen wir mal 3 Kundengruppen habe, welche auch unterschiedliche Preise haben dann bekommen alle den gleichen Preis.

    Beispiel:
    Kundengruppe A: 20€ (Händler)
    Kundengruppe B: 25€ (Endverbraucher)
    Kundengruppe C: 15€ (Großhändler)

    wenn ich jetzt einen Sonderpreis vergebe, dann wird bei allen der Preis auf sagen wir mal 10€ gesetzt. Würde diesen Preis aber gerne nach % reduzieren. Also sagen wir mal zu 50%. Ist das von Haus aus realisierbar ?
    ...

    modified unterstützt derzeit (noch) keine kundengruppen-abhängigen Sonderpreise.
    Wäre mal ein Gedanke Wert das in einer zukünftigen Version zu implementieren.
    commerceSeo kann als Vorbild dienen, wobei in einer Version die ich habe das fehlerhaft implementiert ist und von mir ge-patch-t werden musste.

    Gruß,
    noRiddle
    49 Antworten
    29622 Aufrufe
    01. Mai 2024, 16:05:08 von DerNachbar
    0 Antworten
    1580 Aufrufe
    04. März 2014, 13:27:05 von Gradler
    4 Antworten
    4191 Aufrufe
    22. November 2011, 11:26:57 von jannemann