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: MODUL: Globale Produktpreisänderung für modified eCommerce Shopsoftware

    ds170477

    • Fördermitglied
    • Beiträge: 1.522
    • Geschlecht:
    Die Frage ist, wie man alle Arikel wie in Bild angezeigt, so auch sortieren könnte :mhhh:

    Ich hab mir den Code der Datei global_products_price.php angeschaut, werde aber nicht schlau draus :datz:

    Gruss

    Daniel [ Für Gäste sind keine Dateianhänge sichtbar ]

    Ortanc

    • Neu im Forum
    • Beiträge: 2
    Dazu müsste das Modul noch mit dem Hersteller-Filter erweitert werden.

    Grüße

    Torsten

    Wer könnte diese Anpassung für mich übernehmen ?

    jaspa

    • Frisch an Board
    • Beiträge: 89
    • Geschlecht:
    Die Frage ist, wie man alle Arikel wie in Bild angezeigt, so auch sortieren könnte :mhhh:

    Ich hab mir den Code der Datei global_products_price.php angeschaut, werde aber nicht schlau draus :datz:

    Gruss

    Daniel

    mache ich gerade...sieht leicht verändert aus.

    Frage dazu, ich kann ja immer pro Zeile / Kategorie ändern.
    Wie kann ich Sagen
    Zeile 1 Kategorie X +10 Euro
    Zeile 2 Kategorie Y -20 Euro
    Zeile 3 Kategorie Z +90 Euro

    Dazu E I N Button der die Operation ausführt, kann man da so über eine Schleife realisieren mit der Werteübergabe an

    Operation 1 = rechnen Zeile 1 -> Änderung DB Werte
    Operation 2 = rechnen Zeile 2 -> Änderung DB Werte
    Operation 3 = rechnen Zeile 3 -> Änderung DB Werte

    Also bis zu 20 Eingabefelder die Bestückt werden können und mit einem Klick geändert werden.

    Netagent

    • Neu im Forum
    • Beiträge: 33
    Hallo,
    gibt es zu diesen beiden Modulen inzwischen schon neue Erkenntnisse / Fortschritte oder evtl. sogar Ergebnisse?
    Insbesondere auch auf die neue 1.04er Version...

    Viele Grüße
    Dierk

    Kawabiker

    • Fördermitglied
    • Beiträge: 353
    • Geschlecht:
    Hallo.
    Ich habe das unveränderte Modul gerade in die Version
    modified eCommerce Shopsoftware v1.05 dated: 2010-07-18
    eingebaut und folgendes festgestellt:

    Es müssen bei den einzelnen Artikeln jeweils für alle Kundengruppen schon Preise eingetragen sein. Diese Preise werden als Basis für die Änderungen herangezogen. Wenn man den Shop "faul" füttert und die Preisfelder für die unteren Kundengruppen leer läßt tut sich nichts.

    Nun habe ich aber das Problem dass es mir nicht gelingt, die Angebote wieder zu entfernen.
    Egal welche Knöpfe ich drücke, die neuen Preise bleiben fest verwurzelt.
    Das Problem dabei ist: Ich füge neue Artikel in eine Kategorie und vergebe für meine Kundengruppe den entsprechenden Rabatt. Dabei werden die bereits vorhandenen rabattierten Artikel nochmal rabattiert. Diese muß ich also vorher löschen.

    Was mich wundert ist: Im unteren Bereich sind die bereits rabattierten Artikel nicht sichtbar. Die sollten doch hier erscheinen ???

    Gruß
    Mike

    GoldRunner

    • Neu im Forum
    • Beiträge: 3
    Hallo,

    erstmal danke für das Super Modul, bisher funktioniert alles einwandfrei! Bis auf 2 Dinge die mir bisher aufgefallen sind:

    1) Sobald ich -10% (als bsp.) eingebe, rechnet er mir leider nicht 10 % weg sondern um einiges weniger (ich konnte den rechenweg leider noch nicht herrausfinden).

    2) Bei mir im Shop gibt es eine Hauptkategorie . Das kann man sich so vorstellen:
    HAUPTKATEGORIE
    -Unterkategorie
    --Unterkategorie
    ---Unterkategorie
    ---Unterkategorie
    ----Die jeweiligen Produkte der Unterkategorien (von den 2)

    Nehme ich nun die Hauptkategorie als Preisänderung, geht das leider nicht, ich muss bis in die 2te Unterkategorie gehen um die Preise zu ändern. Da ich aber knapp 100 Unterkategorien habe mit wiederum jeweils 2 weiteren Unterkategorien ist das ein sehr großer Aufwand.
    Ich hoffe ich konnte das nun gut beschreiben, falls nicht, werde ich euch einen Screenshot machen.

    Ich hoffe es gibt dafür einen Lösungsansatz, dass wenn ich die Hauptkategorie anklicke, er somit auch die Unterkategorien in das geänderte Preisschema mit einbezieht. :)

    Danke vorweg

    moscbabe

    • Frisch an Board
    • Beiträge: 86
    Hallo Leute,

    hab mir das Modul installiert und wollte nochmal nachfragen, wie es mit dem Herstellerfilter ausschaut? Es wäre schon toll wenn man die Preise aller Produkte auch nach Hersteller prozentuell anpassen könnte.

    Insbesondere wäre dies in Kombination mit Kundengruppenpreisen der Hammer!

    Wie nehmt Ihr eigentlich derzeit solche Preisanpassungen vor?

    Danke für Eure Infos!

    Liebe Grüße,
     moscbabe

    Freetz

    • Neu im Forum
    • Beiträge: 19
    [...]
    2) Bei mir im Shop gibt es eine Hauptkategorie . Das kann man sich so vorstellen:
    HAUPTKATEGORIE
    -Unterkategorie
    --Unterkategorie
    ---Unterkategorie
    ---Unterkategorie
    ----Die jeweiligen Produkte der Unterkategorien (von den 2)

    Nehme ich nun die Hauptkategorie als Preisänderung, geht das leider nicht, ich muss bis in die 2te Unterkategorie gehen um die Preise zu ändern. Da ich aber knapp 100 Unterkategorien habe mit wiederum jeweils 2 weiteren Unterkategorien ist das ein sehr großer Aufwand.
    Ich hoffe ich konnte das nun gut beschreiben, falls nicht, werde ich euch einen Screenshot machen.
    [...]

    Hi GoldRunner,

    ich habe das selbe Problem wie du. Ich habe meine Artikel auch in Unterkategorien, die aber bei den Hauptkategorien nicht angezeigt werden.

    Ich habe mir mal den Quellcode angeschaut und ich glaube zu wissen wo der Hund begraben ist.

    Die Anzahl der Artikel wird mit folgendem Code ausgegeben:

    Code: PHP  [Auswählen]
    <td class="header_gift" width="10%" align="center"><?php echo PRODUCTS_COUNT; ?></td>

    Die Produkte werden mit folgender Abfrage aus der Datenbank geholt:

    Code: PHP  [Auswählen]
    $products = "SELECT COUNT(products_id) AS ANZAHL
    FROM "
    .TABLE_PRODUCTS_TO_CATEGORIES." WHERE categories_id = '".$categories['categories_id']."'";
    $products_query = xtc_db_query($products);
    $products = xtc_db_fetch_array($products_query);

    Ich denke man müsste die Abfrage ein wenig ändern, damit auch die Artikel aus den Unterkategorien berücksichtigt werden, soweit bin ich aber leider noch nicht.

    Vielleicht kann ja jemand mal helfen oder hat sowas ähnliches schonmal gemacht?

    EDIT: Hab nochmal ein wenig in der Datenbank geschaut und man müsste denke ich das Feld parent_id aus der Tabelle categories bei der Abfrage berücksichtigen.

    mfg
    Freetz

    franky_n

    • Experte
    • Beiträge: 4.950
    Hallo Freetz,

    schau mal in die "/templates/xtc5/source/inc/xtc_show_category.inc.php".

    Dort wird ja die Anzeige der Kategorien erstellt.
    Hier kannst Du natürlich für Deine Bedürfnisse einen Quellcode raus nutzen denn dort steht ja schon drin wie man aus einer Kategorie die Unterkategorien ausliest.

    Viele Grüße

    Franky

    Freetz

    • Neu im Forum
    • Beiträge: 19
    Hallo franky_n,

    danke für den heißen Tipp. Ich habe es jetzt schonmal hinbekommen, dass die Artikel richtig angezeigt werden. Dazu habe ich folgenden Code geändert.

    Diesen Codeblock:

    Code: PHP  [Auswählen]
                    $products = "SELECT COUNT(products_id) AS ANZAHL
          FROM "
    .TABLE_PRODUCTS_TO_CATEGORIES." WHERE categories_id = '".$categories['categories_id']."'";
    $products_query = xtc_db_query($products);
    $products = xtc_db_fetch_array($products_query);

    mit diesem ersetzen:

    Code: PHP  [Auswählen]
    $products['ANZAHL'] = xtc_count_products_in_category($categories['categories_id']);

    Jetzt wird mir die Artikelanzahl richtig angezeigt und es wird alles richtig angezeigt.

    Nun gibt es aber das nächste Problem. Und zwar, dass die Artikel in den Unterkategorien bei einen Preisänderung nicht berücksichtigt werden. Es werden weiterhin nur die Artikel die in der Hauptkategorie liegen berücksichtigt.

    EDIT: Nun hab ich rausgefunden, dass für die Preisänderung folgender Codeblock zuständig ist:

    Code: PHP  [Auswählen]
                    case 'update':
                                    $percent = round($_POST['products_price_percent'], 2);
                                    // alten price auslesen
                                    if($_POST['customers_group'] == '-'){
                                            $price_old = "SELECT p.products_id, p.products_price AS PRODUCTS_PRICE, p.products_quantity  
                                                    FROM "
    .TABLE_PRODUCTS." p,
                                                            "
    .TABLE_PRODUCTS_TO_CATEGORIES." p2c
                                                    WHERE p.products_id = p2c.products_id
                                                    AND p2c.categories_id = '"
    .(int)$_POST['categories_id']."'";
                                            $price_old_query = xtc_db_query($price_old);
                                           
                                    // wenn kundengruppe gewählt ist      
                                    }elseif($_POST['customers_group'] >= 0){
                                            $price_old = "SELECT p.price_id, p.products_id, p.personal_offer AS PRODUCTS_PRICE
                                                    FROM "
    .TABLE_PERSONAL_OFFERS_BY.$_POST['customers_group']." p,
                                                            "
    .TABLE_PRODUCTS_TO_CATEGORIES." p2c
                                                    WHERE p.products_id = p2c.products_id
                                                    AND p2c.categories_id = '"
    .(int)$_POST['categories_id']."'";
                                            $price_old_query = xtc_db_query($price_old);
                                    }
                                    // $_POST['price_sign']: + oder -
                                    while($price_old = xtc_db_fetch_array($price_old_query)){
                                            // prüfen ob preis bei kundengruppen 0.00 ist
                                    if($price_old['PRODUCTS_PRICE'] != '0.000'){
                                           
                                            // Staffelpreie aktiv?
                                            // bei Allgemein Preis gibts keine Staffelpreise !!!
                                            if($_POST['staffel'] == 1){
                                                           
                                                            if($_POST['price_sign'] == '1'){
                                                                    // wert oder prozent rechnen
                                                                    if($_POST['price_percent'] == '1'){
                                                                            $percent_wert = $price_old['PRODUCTS_PRICE'] / 100;
                                                                            $price_differenz = $percent_wert * $percent;
                                                                            $new_price = $price_old['PRODUCTS_PRICE'] + $price_differenz;
                                                                                           
                                                                    }elseif($_POST['price_percent'] == '2'){
                                                                            $new_price = $price_old['PRODUCTS_PRICE'] + $percent;
                                                                    }
                                                            // vorzeichen -
                                                            }elseif($_POST['price_sign'] == '2'){
                                                                    // wert oder prozent rechnen
                                                                    if($_POST['price_percent'] == '1'){
                                                                            $percent_wert = $price_old['PRODUCTS_PRICE'] / 100;
                                                                            $price_differenz = $percent_wert * $percent;
                                                                            $new_price = $price_old['PRODUCTS_PRICE'] - $price_differenz;
                                                                                           
                                                                    }elseif($_POST['price_percent'] == '2'){
                                                                            $new_price = $price_old['PRODUCTS_PRICE'] - $percent;
                                                                    }
                                                            }
                                                   
                                                            xtc_db_query("UPDATE ".TABLE_PERSONAL_OFFERS_BY.$_POST['customers_group']." SET
                                                                    personal_offer                  = '"
    .$new_price."'
                                                                    WHERE price_id                  = '"
    .$price_old['price_id']."'");
                                                           
                                                   
                                            }                              
                                           
                                            if($_POST['staffel'] != 1){
                                                    // vorzeichen +
                                                    if($_POST['price_sign'] == '1'){
                                                            // wert oder prozent rechnen
                                                            if($_POST['price_percent'] == '1'){
                                                                    $percent_wert = $price_old['PRODUCTS_PRICE'] / 100;
                                                                    $price_differenz = $percent_wert * $percent;
                                                                    $new_price = $price_old['PRODUCTS_PRICE'] + $price_differenz;
                                                            }elseif($_POST['price_percent'] == '2'){
                                                                    $new_price = $price_old['PRODUCTS_PRICE'] + $percent;
                                                            }
                                                    // vorzeichen -
                                                    }elseif($_POST['price_sign'] == '2'){
                                                            // wert oder prozent rechnen
                                                            if($_POST['price_percent'] == '1'){
                                                                    $percent_wert = $price_old['PRODUCTS_PRICE'] / 100;
                                                                    $price_differenz = $percent_wert * $percent;
                                                                    $new_price = $price_old['PRODUCTS_PRICE'] - $price_differenz;
                                                            }elseif($_POST['price_percent'] == '2'){
                                                                    $new_price = $price_old['PRODUCTS_PRICE'] - $percent;
                                                            }
                                                    }
                                                    // wenn allgemein, aktualisiere die prod. tabelle
                                                    if($_POST['customers_group'] == '-'){
                                                                   
                                                            // Sind alle Preisreduzierungen Angebote?
                                                            if($_POST['special'] == 1){
                                                                    $products_specials_array = array(
                                                                            'products_id'                                   => $price_old['products_id'],
                                                                            'specials_quantity'                     => $price_old['products_quantity'],
                                                                            'specials_new_products_price'   => $new_price,
                                                                            'specials_date_added'                   => date("Y-m-d H:i:s"));
                                           
                                                                    xtc_db_perform(TABLE_SPECIALS, $products_specials_array);
                                                           
                                                            // entfernt alle angebote aus dieser kategorie bei Kundengruppe ALLGEMEIN
                                                            }elseif($_POST['special_delete'] == 1){
                                                                    $get_products_in_this_categorie_query = xtc_db_query("SELECT products_id FROM ".TABLE_PRODUCTS_TO_CATEGORIES." WHERE categories_id = '".(int)$_POST['categories_id']."'");
                   
                                                    while($get_products_in_this_categorie = xtc_db_fetch_array($get_products_in_this_categorie_query)){
                                                      xtc_db_query("DELETE FROM ".TABLE_SPECIALS." WHERE products_id = '".$get_products_in_this_categorie['products_id']."'");
                                                    }
                   
                                                            }else{
                                                           
                                                                    // wenn keine Angebote
                                                                    xtc_db_query("UPDATE ".TABLE_PRODUCTS." SET
                                                                            products_price                  = '"
    .$new_price."'
                                                                            WHERE products_id               = '"
    .$price_old['products_id']."'");
                                                                           
                                                            }
                                                   
                                                    }elseif($_POST['customers_group'] >= 0){
                                                   
                                                            xtc_db_query("UPDATE ".TABLE_PERSONAL_OFFERS_BY.$_POST['customers_group']." SET
                                                                    personal_offer          = '"
    .$new_price."'
                                                                    WHERE price_id          = '"
    .$price_old['price_id']."'
                                                                    AND quantity                    = 1"
    );
                                                                   
                                                    }
                                                   
                                                   
                                            }

                                            }       // IF price = 0.00
                                           
                                            // Lieferzeit
                                            if($_POST['cat_shippingtime'] != 0){
                                                    xtc_db_query("UPDATE ".TABLE_PRODUCTS." SET
                                                            products_shippingtime           = '"
    .$_POST['cat_shippingtime'][$i]."'
                                                            WHERE products_id                       = '"
    .$price_old['products_id']."'");
                                            }
                                           
                                            // Attribute
                                            // ------------------------------------------------------------------------------------------------------------------------------------------------------------
                                            if($_POST['attributs'] == 1){
                                           
                                                    $attrib_query = xtc_db_query("SELECT products_attributes_id, products_id, options_values_price AS ATT_PRICE
                                                            FROM "
    .TABLE_PRODUCTS_ATTRIBUTES."
                                                            WHERE products_id = '"
    .$price_old['products_id']."'
                                                            AND options_values_price != '0.000'"
    );
                                                   
                                                    while($attrib = xtc_db_fetch_array($attrib_query)){
                                                   
                                                            // vorzeichen +
                                                            if($_POST['price_sign'] == '1'){
                                                                    // wert oder prozent rechnen
                                                                    if($_POST['price_percent'] == '1'){
                                                                            $percent_wert = $attrib['ATT_PRICE'] / 100;
                                                                            $price_differenz = $percent_wert * $percent;
                                                                            $new_price = $attrib['ATT_PRICE'] + $price_differenz;
                                                                    }elseif($_POST['price_percent'] == '2'){
                                                                            $new_price = $attrib['ATT_PRICE'] + $percent;
                                                                    }
                                                            // vorzeichen -
                                                            }elseif($_POST['price_sign'] == '2'){
                                                                    // wert oder prozent rechnen
                                                                    if($_POST['price_percent'] == '1'){
                                                                            $percent_wert = $attrib['ATT_PRICE'] / 100;
                                                                            $price_differenz = $percent_wert * $percent;
                                                                            $new_price = $attrib['ATT_PRICE'] - $price_differenz;
                                                                    }elseif($_POST['price_percent'] == '2'){
                                                                            $new_price = $attrib['ATT_PRICE'] - $percent;
                                                                    }
                                                            }
                                                           
                                                            // wenn keine Angebote
                                                            xtc_db_query("UPDATE ".TABLE_PRODUCTS_ATTRIBUTES." SET
                                                                    options_values_price                    = '"
    .$new_price."'
                                                                    WHERE products_attributes_id    = '"
    .$attrib['products_attributes_id']."'");
                                                    }
                                                                   
                                   
                                            }                              
                                           
                                    } // WHILE
                                   
                                                           
                                   
                            xtc_redirect(xtc_href_link(FILENAME_PRODUCTS_PRICE));

    Leider stehe ich jetzt auf dem Schlauch und weiß nicht mehr weiter.

    mfg
    Freetz

    Bcoola

    • Schreiberling
    • Beiträge: 412
    Danke für dieses grossartige Tool!

    Der Einbau hat ca. 10 min gedauert, und es hat auf Anhieb funktioniert!
    (Ich hatte zuerst das andere Modul von xtc-load eingebaut, bin damit aber gescheitert, -> der Shop lies sich nicht mehr anzeigen...)

    Das einzige was man einem (betriebs)Blinden wie mir hätte sagen sollen... es funktioniert nur wenn in den Kategorien auch Artikel sind (logisch eigentlich).
    Es hat bei mir ein paar Minuten gedauert, bis ich gemerkt habe, dass z.B. meine Oberkategorie Gartenmöbel nicht automatisch mit allen Unterkategorien geändert wird, sondern ich die Unterkategorien in den dann die Artikel sind ändern muss...

    Ich habe 2 Screenshots angehängt, vielleicht ist das was für die 1. Seite.

    [EDIT Tomcraft 28.11.2011: Screenshots in Beitrag 1 ergänzt.]

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.369
    • Geschlecht:
    Danke für die Screenshots! :thx:

    Grüße

    Torsten

    LordMeuchelmord

    • Neu im Forum
    • Beiträge: 46
    Heyho,

    ich hab das Modul ebenfalls im Einsatz und habe leider erst gerade ein Problem festgestellt.

    Bei den insgesamt ca. 7.500 Artikeln ist es nicht sofort aufgefallen, aber von jedem gekauften Artikel wird die Rabattierung entfernt.

    Lagerbestand der Artikel liegt immer bei "0" da die Artikel auf Bestellung geordert werden aber in der Übersicht mit den Angeboten steht dann z.B. "-1".

    Das zurücksetzen auf "0" setzt den Rabatt leider auch nicht wieder ein.

    Das stellt doch ein ordentliches Problem dar und ich hoffe, dass es hierfür eine einfach Lösung gibt.

    crunky

    • Neu im Forum
    • Beiträge: 18
    Hy,

    besten Dank für das Top Modul, Installation hat super geklappt.

    Jedoch muss ich leider im Backend nach einer Preisanpassung jedes Produkt nochmals öffnen, dass er die neuen Preise auch im Frontend aktualisiert ...

    Das leeren des Chaches bringt leider keinen Erfolg.

    Hat jemand eine Idee an was das liegen könnte?

    Gibt es mittlerweile eine Lösung, dass das Modul die Untergruppen mit aktualisiert?

    Besten Dank
    LG

    golden-coins

    • Neu im Forum
    • Beiträge: 2
    Hallo :)

    so, hab es dank eurer Hilfe also totaler Anfänger geschafft die globale Produktpreisänderung einzupflegen...

    Jetzt noch eine Frage, was muss ich tun, damit innerhalb von diesem Modul die Artikel nach Preis sortiert sind, aufsteigend?

    Viele Grüße und Danke
    Tim
    116 Antworten
    53514 Aufrufe
    27. Januar 2022, 10:37:18 von Hans Bambel
    10 Antworten
    9198 Aufrufe
    03. April 2024, 09:53:48 von Nightreaver
    82 Antworten
    51099 Aufrufe
    28. März 2017, 09:37:11 von awids
               
    anything