Trade Republic - Provisionsfrei Aktien handeln
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: Sortierung der Kategorieliste und der Navigation bei gleichen Werten

    Hansi73

    • Frisch an Board
    • Beiträge: 84
    Hallo,

    mir ist folgendes aufgefallen:

    Die Produkte werden in der Kategorieansicht (/includes/modules/product_listing.php) mit einem ORDER BY aus (/includes/modules/default.php) nach der eingestellten Sortierung sortiert. In meinem Beispiel Preis -> aufsteigend.

    Hat man mehrere Artikel mit dem gleichen Preis und klickt auf den ersten Artikel in der Liste landet man z.B. bei dem 5. Produkt aus der Liste (Anzeige laut Navigation /includes/modules/product_navigator.php).

    Damit ist natürlich die Navigation gestört und der Kunde verwirrt.

    Mein Vorschlag um die Sortierung auch bei gleichen Werten identisch zu halten:

    Jeweils in den Abfragen in der default.php und product_navigator.php als zweiten ORDER BY Wert die Artikel ID zu nehmen. Somit wird bei gleichen Werten zusätzlich nach der eindeutigen ID sortiert und die Abfragen liefern identische Ergebnisse zurück.

    Gruß

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

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 14.000
    • Geschlecht:
    Good point.

    Vielleicht auch noch dies beachten.

    Gruß,
    noRiddle

    Hansi73

    • Frisch an Board
    • Beiträge: 84
    Hier nun nochmal ausführlich die Änderungen:

    In /includes/modules/default.php
    ersetze:
    Code: PHP  [Auswählen]
      if (empty($sorting_data['products_sorting'])) { //Fallback für products_sorting auf products_name
        $sorting_data['products_sorting'] = 'pd.products_name';
      }
      if (empty($sorting_data['products_sorting2'])) { //Fallback für products_sorting2 auf ascending
        $sorting_data['products_sorting2'] = 'ASC';
      }
      $sorting = ' ORDER BY '.$sorting_data['products_sorting'].' '.$sorting_data['products_sorting2'].' ';

    mit:
    Code: PHP  [Auswählen]
      if (empty($sorting_data['products_sorting'])) { //Fallback für products_sorting auf products_name
        $sorting_data['products_sorting'] = 'pd.products_name';
      }
      if (empty($sorting_data['products_sorting2'])) { //Fallback für products_sorting2 auf ascending
        $sorting_data['products_sorting2'] = 'ASC';
      }
      $sorting = ' ORDER BY '.$sorting_data['products_sorting'].' '.$sorting_data['products_sorting2'].',p.products_id '.$sorting_data['products_sorting2'].' ';

    in /includes/modules/product_navigator.php

    ersetze:
    Code: PHP  [Auswählen]
    // Produktsortierung nach Voreinstellung der Kategorie - (c) by Hetfield | Anfang
    $sorting_query = xtDBquery("SELECT products_sorting,
                                       products_sorting2
                                                              FROM "
    .TABLE_CATEGORIES."
                                WHERE  categories_id='"
    .$current_category_id."'");
    $sorting_data = xtc_db_fetch_array($sorting_query,true);

    if (!$sorting_data['products_sorting'])
            $sorting_data['products_sorting'] = 'pd.products_name';
    $sorting = ' ORDER BY '.$sorting_data['products_sorting'].' '.$sorting_data['products_sorting2'].' ';

    mit:
    Code: PHP  [Auswählen]
    // Produktsortierung nach Voreinstellung der Kategorie - (c) by Hetfield | Anfang
    $sorting_query = xtDBquery("SELECT products_sorting,
                                       products_sorting2
                                                              FROM "
    .TABLE_CATEGORIES."
                                WHERE  categories_id='"
    .$current_category_id."'");
    $sorting_data = xtc_db_fetch_array($sorting_query,true);

    if (!$sorting_data['products_sorting'])
            $sorting_data['products_sorting'] = 'pd.products_name';
    $sorting = ' ORDER BY '.$sorting_data['products_sorting'].' '.$sorting_data['products_sorting2'].',p.products_id '.$sorting_data['products_sorting2'].' ';
    0 Antworten
    2390 Aufrufe
    14. Dezember 2009, 12:27:25 von Tomcraft
    6 Antworten
    2950 Aufrufe
    19. Mai 2010, 10:27:29 von mexhit
    32 Antworten
    12953 Aufrufe
    17. April 2013, 14:59:46 von Toby
    0 Antworten
    1905 Aufrufe
    26. März 2012, 01:25:35 von gruenbaer
               
    anything