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: Reihenfolge der Suchergebnisse ändern

    Schreinermeister

    • Fördermitglied
    • Beiträge: 415
    • Geschlecht:
    Reihenfolge der Suchergebnisse ändern
    am: 30. März 2018, 20:09:18
    Hallo zusammen,

    kann ich irgendwo die Reihenfolge der Suchergebnisse ändern?

    Aktuell wird in den Suchergebnissen ein Volltreffer der Artikelnummer ganz am Ende der Suchergebnisse angezeigt.

    Gruß Chris

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

    demoncleaner

    • Fördermitglied
    • Beiträge: 482
    Re: Reihenfolge der Suchergebnisse ändern
    Antwort #1 am: 28. April 2018, 14:22:38
    Das würd mich auch interessieren. Ich habe bisher nichts dazu gefunden. Aber die Suchergebnisse nach Produkt_ID zu sortieren macht doch eigentlich noch weniger Sinn, als das Ganze Alphabetisch zu sortieren.

    Ich hab das jetzt hardcodiert, aber frage mich ob es hier wirklich keine Möglichkeit gibt, das Updatesicher zu tun.

    Ich habe dafür einmal die /liveSearch.php angepasst und einmal in Zeile 32 das hier ergänzt

    Code: PHP  [Auswählen]
     'p.products_ordered, ' .
     

    Sowie weiter unten in zeile 95 das hier verändert

    Code: PHP  [Auswählen]
    $where_str .= ') GROUP BY p.products_id ORDER BY p.products_ordered DESC ';
     

    außerdem in der advanced_search_results.php die query mit p.products_ordered ergänzt und dann auch danach sortiert. Geht das vielleicht auch eleganter? Finde es nicht unerheblich für die Suche des Kunden.

    hpzeller

    • Experte
    • Beiträge: 4.129
    • Geschlecht:
    Re: Reihenfolge der Suchergebnisse ändern
    Antwort #2 am: 29. April 2018, 01:27:39
    [...]
    Ich hab das jetzt hardcodiert, aber frage mich ob es hier wirklich keine Möglichkeit gibt, das Updatesicher zu tun.

    Ich habe dafür einmal die /liveSearch.php angepasst und einmal in Zeile 32 das hier ergänzt.
    [...]

    Das Skript liveSearch.php stammt doch von hier -> http://timopaul.biz/projekte/modified-ecommerce-shopsoftware/40-live-search-in-modified-ecommerce-shopsoftware, gehört also nicht zum Core des Shops, was willst du da updatesicher machen?

    Welche Shopversion verwendest du?

    Gruss
    Hanspeter

    demoncleaner

    • Fördermitglied
    • Beiträge: 482
    Re: Reihenfolge der Suchergebnisse ändern
    Antwort #3 am: 29. April 2018, 12:11:13
    Oh. Ok das war mir irgendwie gar nicht klar.
    Die Shopversion ist 2.0.3.0.
    Aber gibt es denn in dem Standardsetup eine einfache Möglichkeit zu sortieren?

    hpzeller

    • Experte
    • Beiträge: 4.129
    • Geschlecht:
    Re: Reihenfolge der Suchergebnisse ändern
    Antwort #4 am: 29. April 2018, 13:51:42
    In einem modified Shop ab Version 2 kann man die Sortierung einer Smarty-{foreach}-Schleife z.Bsp. mit Hilfe des folgenden Smarty-Modifiers update sicher ändern.

    Anleitung:
    Folgende Datei erstellen 'templates/dein_template/smarty/modifier.sortby.php' und in diese folgenden Code einfügen.

    Code: PHP  [Auswählen]
    <?php
    #
    # sorts an array of named arrays by the supplied fields
    #   code by dholmes at jccc d0t net
    #   taken from http://au.php.net/function.uasort
    # modified by cablehead, messju and pscs at http://www.phpinsider.com/smarty-forum

    function array_sort_by_fields(&$data, $sortby){
          static $sort_funcs = array();
         
        if (empty($sort_funcs[$sortby]))
        {
            $code = "\$c=0;";
            foreach (explode(',', $sortby) as $key)
            {
               $d = '1';
                  if (substr($key, 0, 1) == '-')
                  {
                     $d = '-1';
                     $key = substr($key, 1);
                  }
                  if (substr($key, 0, 1) == '#')
                  {
                     $key = substr($key, 1);
                   $code .= "if ( \$a['$key'] > \$b['$key']) return $d * 1;\n";
                   $code .= "if ( \$a['$key'] < \$b['$key']) return $d * -1;\n";
                  }
                  else
                  {
                   $code .= "if ( (\$c = strcasecmp(\$a['$key'],\$b['$key'])) != 0 ) return $d * \$c;\n";
                }
            }
            $code .= 'return $c;';
            $sort_func = $sort_funcs[$sortby] = create_function('$a, $b', $code);
        }
        else
        {
            $sort_func = $sort_funcs[$sortby];
        }  
        uasort($data, $sort_func);  
    }

    #
    # Modifier: sortby - allows arrays of named arrays to be sorted by a given field
    #
    # The '-' lets you sort in reverse order, and the # lets you sort numerically rather than as a string (you can have '-#age' as well to sort numerically in reverse order)
    # Examples:
    # {foreach from=$users|sortby"-name, #age" item=user}
    # {foreach from=$Tickets|@sortby:"#saleprice" item="row" name="Tickets"}
    # Link:
    # https://www.smarty.net/forums/viewtopic.php?p=53657&sid=2f0a4d8ef35da0d9385e8ea54e665e87#53657
    function smarty_modifier_sortby($arrData,$sortfields) {
       array_sort_by_fields($arrData,$sortfields);
       return $arrData;
    }
     

    Nun kann man z.Bsp. in der Datei 'templates/dein_template/module/autocomplete.html' folgenden Code

    Code: XML  [Auswählen]
    {foreach item=products_data from=$module_content}

    mit diesem ersetzen,

    Code: XML  [Auswählen]
    {foreach item=products_data from=$module_content|@sortby:"-#PRODUCTS_ORDERED"}

    um die Ausgabe sortiert nach der Anzahl verkaufter Produkte absteigend zu erhalten.

    PS:
    Der obige Smarty-Modiefer eignet sich weniger bzw. nicht für paginierte Listen.

    Gruss
    Hanspeter

    demoncleaner

    • Fördermitglied
    • Beiträge: 482
    Re: Reihenfolge der Suchergebnisse ändern
    Antwort #5 am: 29. April 2018, 15:12:11
    Wow super. Vielen Dank. Sehr nützlich.

    Schreinermeister

    • Fördermitglied
    • Beiträge: 415
    • Geschlecht:
    Re: Reihenfolge der Suchergebnisse ändern
    Antwort #6 am: 30. April 2018, 17:11:45
    Hallo zusammen,

    ich wollte eben den Vorschlag testen, bemerkte aber das die Autocomplete Funktion im Frontend gar nicht angezeigt wird.

    Soweit ich mich erinnern kann ging dies vor weingen Tagen noch.  :nixweiss:
    Die betroffenen Datein wurden nicht geändet.
    Cache wurde gelöscht.

    kann mir jemand einen Tipp geben wo ich noch suchen kann ?

    Guß Chris

    EDIT  Komando zurück!   Habs gefunden.  Ich war im falschen Templateordner :oops:

    Sorry

    Alfred

    • Experte
    • Beiträge: 2.115
    Re: Reihenfolge der Suchergebnisse ändern
    Antwort #7 am: 01. Mai 2018, 10:37:27
    Sinnvoll wäre es die Suchergebnisse zu "verdoppeln".
    Die Suche nach einer Artikelnummer läuft quasi 2 mal und zeigt auf der Ergebnisseite zuerst nur das Suchergebnis für die Artikelnummer bei der Suche rein in der Spalte products_model und dann alle Ergebnisse ohne die Spalte wenn die Artikelnummer bei anderen Produkten im Text steht.
    Eine Sortierung nach Verkaufszahlen zeigt nur der Konkurrenz wo man die eigenen Produkte anpassen sollte.

    hpzeller

    • Experte
    • Beiträge: 4.129
    • Geschlecht:
    Re: Reihenfolge der Suchergebnisse ändern
    Antwort #8 am: 01. Mai 2018, 10:48:39
    [...]
    Eine Sortierung nach Verkaufszahlen zeigt nur der Konkurrenz wo man die eigenen Produkte anpassen sollte.

    Ja und jetzt, das macht die Box "Bestseller" doch auch.

    Gruss
    Hanspeter

    Alfred

    • Experte
    • Beiträge: 2.115
    Re: Reihenfolge der Suchergebnisse ändern
    Antwort #9 am: 01. Mai 2018, 11:11:25
    Auch wenn die das macht muss es doch nicht sinnvoll sein die einzusetzen.

    Schreinermeister

    • Fördermitglied
    • Beiträge: 415
    • Geschlecht:
    Re: Reihenfolge der Suchergebnisse ändern
    Antwort #10 am: 01. Mai 2018, 20:24:39
    Hallo zusammen,

    eine "abgestufte" Darstellung der Suchergebnisse scheint mir dennoch sinnvoll.

    Vorschlag.
    Zuerst die Treffer bei der Artikelnummer,
    dann die Treffer beim Artikelnamen,
    dann die Treffer bei "Zusatz-Begriffe für Suche"
    dann die Treffer bei der Artikelbeschreibung.

    aktuell werden bei uns die Treffer bei der Artikelnummer ganz am Ende dargestellt.
    Wenn die Trefferliste über mehrere Seiten geht ist dieser Treffer kaum zu finden.

    Gruß Chris.
    Modulshop - Eine große Auswahl an neuen und hilfreichen Modulen für die modified eCommerce Shopsoftware
    0 Antworten
    1354 Aufrufe
    29. November 2016, 15:04:19 von Parker
    3 Antworten
    3076 Aufrufe
    03. März 2011, 13:14:14 von bigbandit
    0 Antworten
    465 Aufrufe
    01. November 2022, 08:18:17 von awund
    1 Antworten
    2580 Aufrufe
    17. August 2010, 04:25:56 von baustelle
               
    anything