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: Globale Produktpreisanpassung - Filter Kategorie / Preis

    jaspa

    • Frisch an Board
    • Beiträge: 89
    • Geschlecht:
    Hallo,

    folgendes Szenario, die Globale Produktpreisanpassung gibt entweder alle Kategorien, oder aber eine Kategorie komplett mit allen Artikel aus.
    Das möchte ich abwandeln, dazu habe ich zusätzlich ein Formular in des Modul eingebaut.
    Dort kann  ich per Dropdown zum einen die Kategorie und zum anderen per Eingabe (in Anlehnung an die advanced_serach.php/advanced_search_result.php) den Artikelpreis eingeben im Format Von.... bis ... um die Ausgabe einzugrenzen.

    Dazu habe ich ergänzt ab ca. Zeile 513 nach folgendem Codeblock

    Code: PHP  [Auswählen]
    <!-- alle preise aktualisieren -->
    <table border="0" cellspacing="1" cellpadding="3" align="center">
      <tr>
        <td class="header_gift" align="left"> <?php echo CHANGE_ALL_PRODUCTS .' <b>'. $all_products['ANZAHL_ALLE']; ?></b> </td>
                    <td class="header_gift" align="left"><?php echo xtc_draw_pull_down_menu('customers_group', $customers, '', ' style="width:200px;"');?></td>
                    <td class="header_gift" align="left">
    <?php
                    echo xtc_draw_pull_down_menu('all_price_sign', $price_sign, '', 'style="width:40px;"');
                    echo xtc_draw_input_field('all_products_price_percent', '', 'size="6"');
                    echo xtc_draw_pull_down_menu('all_price_percent', $price_percent, '', 'style="width:50px;"');
    ?>
                    </td>
        <td class="content_gift" align="left"><?php echo '<input type="image" src="images/icons/edit_uni.gif" value="'.PRODUCTS_PRICE_UPDATE.'" onClick="return confirm(\''.UPDATE_ENTRY.'\')">';?></td>
      </tr>

    </form>

    <br>

    </table>
    Eingefügt:

    Code: PHP  [Auswählen]
    <!--Beginn Auswahl Kategorie -->
     <tr>
        <td class="main"><?php echo CONTENT_SELECTION; ?></td>

      </tr>

    <table width="50%" border="0" align="center">

      <tr>
        <th class="header_gift" scope="col"><?php echo CONTENT_ARTICLE; ?></th>
        <th class="header_gift" scope="col"><?php echo PRICE_ARTICLE; ?></th>
        <th class="header_gift" scope="col"><?php echo SEND_TEXT; ?></th>
      </tr>
      <tr>
            <!-- Dropdown Auswahl beginnt -->
        <td class="uni_bg2" align="left"><?php  echo xtc_draw_form('goto', FILENAME_PRODUCTS_PRICE_NEW, '', 'get'); echo xtc_draw_pull_down_menu('category',xtc_get_category_tree(),$categories['categories_id']. $categories['categories_name']) ;?></td>

                     <td class="uni_bg2" align="left"><?php echo  CONTENT_FROM;echo xtc_draw_input_field('pfrom', '', 'size="8"'); echo CONTENT_TO;echo xtc_draw_input_field('pto', '', 'size="8"');?></td>
        <td class="uni_bg2" align="left"><?php echo '<input type="image" src="images/icons/senden.gif"  value="'.PRODUCTS_SEARCH.'" onClick="this.form.submit();">';?></td></form>
      </tr>
    </table>
     
    Soweit so gut läuft das auch mit der Übergabe der Kategorie, und des Preises Von/Bis. :B

    Problem ist die Ausgabe der Artikel gefiltert mit dem Preis.

    Dazu muss ich ab ca. Zeile 688 ansetzen.

    Code: PHP  [Auswählen]
    // Zeichenlänge begrenzen
            // left(pd.products_name, 50) AS products_name
            $products_query = xtc_db_query("SELECT
                                    p.products_id,
                                    p.products_quantity,
                                    p.products_shippingtime,
                                    p.products_model,
                                    p.products_price,
                                    p.products_tax_class_id,
                                    pd.products_name
                            FROM "
    .TABLE_PRODUCTS." p,
                                    "
    .TABLE_PRODUCTS_DESCRIPTION." pd,
                                    "
    .TABLE_PRODUCTS_TO_CATEGORIES." p2c

                            WHERE p.products_status = '1'
                            AND p2c.categories_id = '"
    .(int)$_GET['category']."'
                            AND p2c.products_id = p.products_id
                            AND p.products_id = pd.products_id
      AND pd.language_id = '"
    .(int)$_SESSION['languages_id']."'
            ORDER BY p.products_id ASC"
    );          

            // Shippingtime
            $shippingtime_query = xtc_db_query("SELECT
                    shipping_status_id, shipping_status_name
                    FROM "
    .TABLE_SHIPPING_STATUS."
                    WHERE language_id = '"
    .(int)$_SESSION['languages_id']."'
                    ORDER BY shipping_status_id ASC"
    );

            while($shippingtime = xtc_db_fetch_array($shippingtime_query)){
                    $products_shippingtime_array[] = array(
                            'id' => $shippingtime['shipping_status_id'],
                            'text' => $shippingtime['shipping_status_name']);
            }
            $i=0;
            while($products = xtc_db_fetch_array($products_query)){
                    $specials_query = xtc_db_query("SELECT
                                    s.specials_id,
                                    s.specials_quantity,
                                    s.specials_new_products_price,
                                    s.expires_date,
                                    s.status
                            FROM "
    .TABLE_SPECIALS." s
                            WHERE s.products_id = '"
    .$products['products_id']."'");
                    $specials = xtc_db_fetch_array($specials_query);
     
    Dieses wollte ich mit der Ausgabe des Filters

    Code: PHP  [Auswählen]
    if ($_GET['pfrom'] || $_GET['pto'])

    //price filters
    if (($pfrom != '') && (is_numeric($pfrom))) {
                    $pfrom_check = " AND (IF(s.status = '1' AND p.products_id = s.products_id, s.specials_new_products_price, p.products_price)>= round(".$pfrom.",".PRICE_PRECISION.") ) ";
    } else {
            unset ($pfrom_check);
    }

    if (($pto != '') && (is_numeric($pto))) {
                    $pto_check = " AND (IF(s.status = '1' AND p.products_id = s.products_id, s.specials_new_products_price, p.products_price) <= round(".$pto.",".PRICE_PRECISION.") ) ";
    } else {
            unset ($pto_check);
    }
     
    Erweitern, das reicht aber irgendwie nicht aus oder es fehlt noch ein Stück zum Ziel.
     :oh-no:



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

    jaspa

    • Frisch an Board
    • Beiträge: 89
    • Geschlecht:
    Re: Globale Produktpreisanpassung - Filter Kategorie / Preis
    Antwort #1 am: 29. März 2010, 11:57:57
    Wie kann man in der DB Abfrage einen Wert "Von" - "Bis"  integrieren, ich bin jetzt soweit, dass ich einen festen Wert über das Formular übergeben kann, z.B. 15,00Euro und dann alle Produkte aus der Kategorie angezeigt bekomme mit dem Wert 15,00Euro.
    Dazu habe ich den Code erweitert mit der Abfrage

    Code: PHP  [Auswählen]
    AND p.products_price = '".$GET['pfrom']."'
     
    Wie erweitere ich diese Abfrage um den Wert

    Code: PHP  [Auswählen]
    '".$GET['pto']."'
     
    :?
    Eingefügt wird es dann hier für die Ausgabe

    Code: PHP  [Auswählen]
    $products_query = xtc_db_query("SELECT
    04                      p.products_id,
    05                      p.products_quantity,
    06                      p.products_shippingtime,
    07                      p.products_model,
    08                      p.products_price,
    09                      p.products_tax_class_id,
    10                      pd.products_name
    11                  FROM "
    .TABLE_PRODUCTS." p,
    12                      "
    .TABLE_PRODUCTS_DESCRIPTION." pd,
    13                      "
    .TABLE_PRODUCTS_TO_CATEGORIES." p2c
    14
    15                  WHERE p.products_status = '1'
    16                  AND p2c.categories_id = '"
    .(int)$_GET['category']."'
    17                  AND p2c.products_id = p.products_id
    18                  AND p.products_id = pd.products_id
    19        AND pd.language_id = '"
    .(int)$_SESSION['languages_id']."'
    20          ORDER BY p.products_id ASC"
    );
     
    Edit hat sich erledigt, einfach mal des öfteren im MySQL Referenzbuch suchen.

    Code muss heißen

    Code: PHP  [Auswählen]
    AND p.products_price>= '".$GET['pfrom']."'
    AND p.products_price <= '".$GET['pto']."'
     
    Dann läuft es. :mrgreen:

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.197
    • Geschlecht:
    Re: Globale Produktpreisanpassung - Filter Kategorie / Preis
    Antwort #2 am: 29. März 2010, 17:33:15
    Hallo jaspa,

    ich denke du meinst dieses Modul hier: Globale Produktpreisänderung

    Den Sinn des Moduls hatte ich ehrlich gesagt anders verstanden, aber ich kenne das Modul auch nicht:


    Zitat
    Dieses Modul erlaubt eine globale Änderung der Preise in einer bestimmten Berücksichtigung der Kundengruppen.
    Kannst du deine Anpassung ein wenig mehr erläutern? Das klingt für mich nach einem Filter, den du dir da gebaut hast.

    Grüße

    Torsten

    jaspa

    • Frisch an Board
    • Beiträge: 89
    • Geschlecht:
    Re: Globale Produktpreisanpassung - Filter Kategorie / Preis
    Antwort #3 am: 30. März 2010, 13:48:35
    Korrekt in beiden Fällen - Deine Bemerkungen.

    Das Modul als solches gibt Dir drei Möglichkeiten Preise GLOBAL zu ändern mit der Auswahl der Kundengruppe.

    Möglichkeiten:
    1) Alle Kategorien für die jeweilige Kundengruppe anpassen (Prozentual oder Wert Währung)
    2) Anpassen der Einzelnen Kategorien (Prozentual oder Wert Währung)
    3) Anpassung Produkte in der jeweiligen Kategorie (Wert Währung)

    Letzteres pustet natürlich alle Produkte einer Kategorie raus, was aber mitunter mehr als mehr sein kann. Daher habe ich einen Preisfilter eingebaut um z.B. alle Produkte von 5,00 - 10.00 Euro auszugeben und zu ändern.

    Dieses könnte man z.B. auch mit einem zusätzlichen Herstellerfilter verfeinern, wenn z.B. Hersteller XY seine Preise um 10% erhöht, dann kann ich diese Produkte auslesen lassen und ggf. anpassen.

     :)

    Theoretisch könnte man diese Filterfunktion auch  zusätzlich zu der Anzeige Kategorien/Artikel (Dropdown Kategorien) zufügen, um schneller zu Produkten zu navigieren und nicht alle Artikel einer Kategorie aufzurufen.

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.197
    • Geschlecht:
    Re: Globale Produktpreisanpassung - Filter Kategorie / Preis
    Antwort #4 am: 30. März 2010, 13:50:19
    Ahhhh... okay, danke für den Hinweis. ;-)

    Einen Filter benötigen wir auch noch, mal schauen, was wir daraus machen.

    Das hättest du aber auch einfacher haben können, siehe: Artikelsortierung im Shopbereich

    Hast du vielleicht mal einen Link zu deinem Shop, damit ich mir das mal anschauen kann? Oder wenigstens einen Screenshot?

    Grüße

    Torsten

    jaspa

    • Frisch an Board
    • Beiträge: 89
    • Geschlecht:
    Re: Globale Produktpreisanpassung - Filter Kategorie / Preis
    Antwort #5 am: 30. März 2010, 13:58:46
    Das ist aber für das Fronted oder?  :?: Ich meine im Backend.

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.197
    • Geschlecht:
    Re: Globale Produktpreisanpassung - Filter Kategorie / Preis
    Antwort #6 am: 30. März 2010, 14:02:30
    Ahhhh.... okay, verstehe! Dann interessiert mich ja umso mehr ein Screenshot davon. ;-)

    Grüße

    Torsten

    jaspa

    • Frisch an Board
    • Beiträge: 89
    • Geschlecht:
    Re: Globale Produktpreisanpassung - Filter Kategorie / Preis
    Antwort #7 am: 30. März 2010, 14:11:21
    Sieht so aus mit Filter

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

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.197
    • Geschlecht:
    Re: Globale Produktpreisanpassung - Filter Kategorie / Preis
    Antwort #8 am: 30. März 2010, 14:14:13
    Alles klar, vielen Dank! ;-)

    Schicke Sache, aber schon sehr speziell!

    Meinst du, du könntest daraus ein Modul für die Community erstellen?

    Grüße

    Torsten

    jaspa

    • Frisch an Board
    • Beiträge: 89
    • Geschlecht:
    Re: Globale Produktpreisanpassung - Filter Kategorie / Preis
    Antwort #9 am: 30. März 2010, 14:22:42
    Klar sehr speziell, alles andere ist langweilig.

    Könnte man, muss jedoch zum einen schauen wie es aussieht, da es z.Zt. in einem Gambio läuft, dürfte aber auch unter xtc rennen, wenn dann würde ich das aber soweit anpassen das auch ein Hersteller Filter drin ist.

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.197
    • Geschlecht:
    Re: Globale Produktpreisanpassung - Filter Kategorie / Preis
    Antwort #10 am: 30. März 2010, 14:30:00
    Das wäre echt super, das kann bestimmt der ein oder andere sehr gut gebrauchen.

    Grüße

    Torsten

    Schreinermeister

    • Fördermitglied
    • Beiträge: 425
    • Geschlecht:
    Re: Globale Produktpreisanpassung - Filter Kategorie / Preis
    Antwort #11 am: 20. Juni 2010, 15:37:49
    Hallo

    Bin gerade auf dieses Thema gestoßen, da ich im Moment das geschilderte Problem habe.

    Ein Hersteller hat seine Preis angehoben. Nun bin ich schon drei Tage beschäftigt mit dem "alten" Preisanpassungsmodul die Artikel herauszusuchen und entsprechend anzupassen.

    Mit einem HERSTELLERFILTER wäre das viel einfacher und natürlich auch schneller machbar.  ;)

    Gruß Chris

    armandogarcia

    • Fördermitglied
    • Beiträge: 333
    • Geschlecht:
    Re: Globale Produktpreisanpassung - Filter Kategorie / Preis
    Antwort #12 am: 25. Juni 2010, 10:34:36
    Hallo, gibt es irgendeine Möglichkeit die Hersteller zu sortieren? Da der Herstellerfilter bis jetzt nur nach Namen sortiert A-Z wäre es denn irgendwie möglich die Hersteller nach Belieben zu sortieren und jedem Hersteller eine Rangzahl zu vergeben?

    Liebe Grüße

    euer Armando

    armandogarcia

    • Fördermitglied
    • Beiträge: 333
    • Geschlecht:
    Re: Globale Produktpreisanpassung - Filter Kategorie / Preis
    Antwort #13 am: 28. Juni 2010, 11:39:25
    Weiss denn jemand schon 'ne Antwort bezüglich der Sortierung innerhalb des Herstellerfilters?

    danke

    armandogarcia

    • Fördermitglied
    • Beiträge: 333
    • Geschlecht:
    Re: Globale Produktpreisanpassung - Filter Kategorie / Preis
    Antwort #14 am: 01. Juli 2010, 13:54:00
    Das wäre echt super, das kann bestimmt der ein oder andere sehr gut gebrauchen.

    Grüße

    Torsten

    Hallo Torsten,

    ich hoffe ich störe nicht all zu sehr, ich suche nach einem Preisfilter? der Produktfilter funktioniert wunderbar, leider verschwinden die weiteren attribute im dropdown wenn man ein attribut gewählt hat, muss man wieder auf das Merkmal klicken um alle variationen zu sehen, besser wäre es wenn wie beim Herstellerfilter alle variationen im Dropdown angezeigt werden auch wenn bereits eins angewählt ist, vielleicht gibt es da eine option oder einen thread, was ich jetzt suche wäre noch ein Preisgruppenfilter der die Artikel nach Preise Filtert so wie unten im beispiel, ich denke dieses Modul wäre für viele sehr nützlich, hast du vielleicht einen link für mich :) ansonsten müsste ich das in die Attribute mit einpflegen und die Preisgruppe für jeden Artikel anwählen, wäre aber unsauber, schöner ist es wenn es das System am Preis selber zuordnet

    Preisgruppe (dropdown)
    ----------------------
    bis 75€
    75 - 125 €
    125 - 250 €
    250 - 400 €
    400 - 650 €
    über 650 €

    1 Antworten
    2932 Aufrufe
    09. Oktober 2012, 13:59:10 von Simon
    0 Antworten
    2187 Aufrufe
    02. März 2012, 15:58:14 von OutOfControl
    6 Antworten
    4197 Aufrufe
    02. Dezember 2012, 06:27:04 von alkim media
    1 Antworten
    433 Aufrufe
    27. Juni 2022, 17:16:32 von newbee79
               
    anything