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: Elegante Lösung für die Anzeige des Filters bei den Marken(Unterkategorien)

    Nessy

    • Fördermitglied
    • Beiträge: 109
    • Geschlecht:
    Hallo liebe Modified Gemeinde.

    Das basteln am Shop hört nie auf ;-)

    Nun habe ich eine neue Herausforderung zu der mir seit einer Woche keine Lösung einfällt.

    Ich habe im Shop Hauptkategorieren:
    Mädchen
    Jungs
    Dann gibt es die jeweiligen Unterkategorien der Größen z.B. 50, 62, 68 etc.

    Nun habe ich die Möglichkeit in meinem Shop mir alle Marken anzeigen zu lassen und es gibt dort einen Filter der nach Unterkategorien sortiert.

    Schon mal super für die Besucher.
    Nun wird jedoch nur der Name der Unterkategorie angezeigt: z.B. 50
    Aber nicht ob das zur Hauptkategorie Mädchen gehört oder Jungs. Und da es die Unterkategorie 50 zwei mal gibt. wird diese zwei mal aufgeführt.
    Völlig verwirrrend.

    Ich habe nun übergangsweise die Unterkategorien in 50 Mädchen unbenannt damit die Filterfunktion auch einen Sinn macht.
    Dies hat aber dann wiederum den unschönen Effekt, daß die Unterkategorien nicht sinnvoll beschriftet sind.

    Hier der Link zur Veranschaulichung:
    http://www.maxundmia.de/shop/FIXONI:.:5.html

    Fällt Euch etwas eleganteres ein?

    PS: Freue mich über Anregungen die eine berufstätige Mutter mit ihrem kleinen Shop versteht ;-)

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

    Matt

    • Experte
    • Beiträge: 4.241
    Ich kann den angesprochenen Filter nirgends finden.

    Als Lösungsansatz kann man sicherlich die SQL-Query so erweitern, dass sie auch die Hauptkategorie ausliest und mit ausgibt.

    Nessy

    • Fördermitglied
    • Beiträge: 109
    • Geschlecht:
    Hi Matt,

    danke für die Antwort.

    Anbei ein Screenshot der den Filter oben links zeigt. "Alle Kategorien"

    Matt

    • Experte
    • Beiträge: 4.241
    Ach da :)

    Wie wird denn dieses Dropdown gefüllt? Sollte kein Problem sein, die zugehörige SQL-Query entsprechend zu erweitern.

    Nessy

    • Fördermitglied
    • Beiträge: 109
    • Geschlecht:
    aloa,

    derzeit zieht der sich (wie oben beschrieben) automatisch die Unterkategorien.
    Das ist ja auch wirklich praktisch (dachte ich).

    Da die Unterkategorien für Jungs und Mädels gleich sind tauchen dann aber zwei mal die gleichen Kategorien im Filter auf, das die Verbraucher verwirrt.

    Als Notlösung habe ich die Unterkategorien bei den Mädchen mit dem Wort "Mädchen" ergänzt.

    Schaut aber dann bei der Kategorienübersicht wiederum blöd aus.

    Matt

    • Experte
    • Beiträge: 4.241
    Schon klar. Deshalb sagte ich ja, das man das Dropdown wie im Screenshot erweitern könnte. Ich kann dir aber nicht sagen, was du genau machen musst, da dieser Filter keine Standardmodul ist.

    Nessy

    • Fördermitglied
    • Beiträge: 109
    • Geschlecht:
    AH!! Das ist schon mal ein Ansatz.

    Im Filter die Hauptkategorie voransetzen!

    ja.. der Filter gehört zum Template von Hartmut Frings.

    Den maile ich mal an, vielleicht weiss er ne einfache Lösung

    Simon

    • Viel Schreiber
    • Beiträge: 1.369
    Ich kann dir aber nicht sagen, was du genau machen musst, da dieser Filter keine Standardmodul ist.
    Doch das ist ein Standardmodul. Man muss es jedoch erst über "Artikel Listen Optionen" aktivieren.

    Immer wenn man über den Hersteller auswählt, kommt auf der darauf folgenden Seite eine Auswahl mit den Unterkategorien in denen Artikel des Herstellers vorkommen.
    Wenn man jetzt in mehrere Kategoriezweigen gleichnamige Kategorien hat, dann wird das ziemlich unübersichtlicht da es Duplikate geben kann.

    Die einfachste Lösung wäre hier, nicht den Kategorienamen für den Filter zu nehmen, sondern die Kategorieüberschrift.
    Hatte das im Forum schon einmal vorgeschlagen, wurde jedoch nicht erhört.

    Wenn dir das mit der Kategorieüberschrift reicht, dann wäre das so zu ändern:
    Suche in der includes/modules/default.php das
    Code: PHP  [Auswählen]
      if (PRODUCT_LIST_FILTER == 'true') {
        if (isset($_GET['manufacturers_id'])) {
     
    und ersetze darunter alle Zeilen zu
    Code: PHP  [Auswählen]
    $filterlist_sql
    mit
    Code: PHP  [Auswählen]
          $filterlist_sql = "-- /includes/modules/default.php
                             SELECT distinct c.categories_id as id,
                                             cd.categories_name as name,
                                             cd.categories_heading_title as categories_heading_title from "
    .TABLE_PRODUCTS." p,
                                             "
    .TABLE_PRODUCTS_TO_CATEGORIES." p2c, ".TABLE_CATEGORIES." c,
                                             "
    .TABLE_CATEGORIES_DESCRIPTION." cd
                                             WHERE p.products_status = '1'
                                             AND p.products_id = p2c.products_id
                                             AND p2c.categories_id = c.categories_id
                                             AND p2c.categories_id = cd.categories_id
                                             AND cd.language_id = '"
    .(int) $_SESSION['languages_id']."'
                                             AND p.manufacturers_id = '"
    .(int) $_GET['manufacturers_id']."'
                                             ORDER BY cd.categories_heading_title"
    ;
     

    Du musst dann nur noch alles ändern, damit der Kategoriename und die Kategorieüberschrift nicht identisch sind. Im Filter erscheint dann die Kategorieüberschrift.

    Du kannst auch nur den Kategorienamen ändern, doch manchmal möchte man das nicht, da diese Kategorien dann aus dem Google Index fliegen und erst neu indexiert werden müssen. Dein Ranking wird also schwanken.

    Nessy

    • Fördermitglied
    • Beiträge: 109
    • Geschlecht:
    Hallo Simon,

    hey.. das liest sich gut!

    Werde das heute abend gleich ausprobieren und den Erfolg vermelden.

    Nessy

    • Fördermitglied
    • Beiträge: 109
    • Geschlecht:
    Leider hat es trotz korrekten PHP Code nicht funktioniert ;-(

    Hat noch jemand eine Idee?

    Simon

    • Viel Schreiber
    • Beiträge: 1.369
    Ab 1.06 funktioniert es nur noch so:
    Code: PHP  [Auswählen]
          $filterlist_sql = "-- /includes/modules/default.php
                             SELECT distinct c.categories_id as id,
                                             cd.categories_heading_title as name from "
    .TABLE_PRODUCTS." p,
                                             "
    .TABLE_PRODUCTS_TO_CATEGORIES." p2c, ".TABLE_CATEGORIES." c,
                                             "
    .TABLE_CATEGORIES_DESCRIPTION." cd
                                             WHERE p.products_status = '1'
                                             AND p.products_id = p2c.products_id
                                             AND p2c.categories_id = c.categories_id
                                             AND p2c.categories_id = cd.categories_id
                                             AND cd.language_id = '"
    .(int) $_SESSION['languages_id']."'
                                             AND p.manufacturers_id = '"
    .(int) $_GET['manufacturers_id']."'
                                             ORDER BY cd.categories_heading_title"
    ;
     

    Nessy

    • Fördermitglied
    • Beiträge: 109
    • Geschlecht:
    Tausenddank an Simon für

    Seine Geduld
    Seine investierte Zeit
    und den neuen PHP Code!

    Ich freue mich wahnsinnig, dass es so tolle Hilfe hier gibt.
    Es funktioniert jetzt! Und mein Shop ist auch noch aufgeräumt.

    Als Dankeschön habe ich grad was an modified gespendet

    0815

    • Viel Schreiber
    • Beiträge: 905
    Moin,

    wie kann man denn die von der Liste ausgegebenen URLs umschreiben?

    Ich habe bereits diese beiden Zeilen auskommentiert, damit das "sorting" und die "XTCsid" entfernt wird:

    Code: PHP  [Auswählen]
    $manufacturer_dropdown .= xtc_draw_hidden_field('sort', $_GET['sort']);
    $manufacturer_dropdown .= xtc_draw_hidden_field(xtc_session_name(), xtc_session_id());

    Danach sieht die URL jedoch SEO-technisch noch immer nicht viel besser aus.
    Beispiel:

    Code: PHP  [Auswählen]
    http://www.mein_shop.de/?manufacturers_id=1&filter_id=0815

    Es wäre doch schöner, wenn der Hersteller- und Kategoriename mit ausgegeben würde.

    zeolite

    • Fördermitglied
    • Beiträge: 142
    • Geschlecht:
    Das werde ich doch glatt auch bei mir umzusetzen versuchen, danke Simon!!
    Hab bei mir den Filter aktuell deaktiviert, weil es mir nicht gefallen hat, dass zweimal zB "Blusen" angeführt wurde. Aber jetzt scheint ja Land in Sicht zu sein :)

    Nessy, vielleicht bist Du ja damit glücklich, aber mich hat es sehr gestört, mit auf- und zuklappen der Kategorien.

    Bei Dir im Shop würde es sich auf Grund der strickten Teilung Jungs / Mädchen / Accessoires anbieten, diese in verschiedene Boxen zu geben. Ich habe es wie folgt umgesetzt:

    http://www.modified-shop.org/forum/index.php?topic=5636.0

    Gruß

    0815

    • Viel Schreiber
    • Beiträge: 905
    Wir haben einzelne Produkte die in mehreren Kategorieen verlinkt sind. Leider führt das beim Filter dazu, dass eben auch alle diese Kategorien aufgelistet werden.

    Kann man die SQL-Abfrage irgendwie umgestalten, dass für solche Produkte die Kategorie nur eine Kategorie (z.B. die Kategorie in der es angelegt wurde, bzw. die Kategorie mit der niedrigsten id) ausgegeben wird?
    0 Antworten
    2157 Aufrufe
    09. Oktober 2011, 00:23:56 von sv.brueck
    4 Antworten
    3407 Aufrufe
    12. April 2013, 13:16:39 von weswesx
    1 Antworten
    2655 Aufrufe
    12. Juli 2009, 11:50:58 von sgei
    2 Antworten
    1587 Aufrufe
    31. August 2016, 13:55:57 von maikl
               
    anything