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: Kategorielinks und eigene SELECTs

    Dominik23

    • Neu im Forum
    • Beiträge: 3
    Kategorielinks und eigene SELECTs
    am: 26. Januar 2010, 11:23:44
    Hallo Forengemeinde,

    ich bräuchte mal einen Denkanstoß oder einen Griff unter die Arme, weil ich mich in dem Thema nicht so hervorragend auskenne.

    2 Probleme / Fragen:

    #1: Gibt es einen Weg, wie ich in einer Produktauflistung (spreche dabei besonders über die new_products_default.html ) bei jedem gelisteten Produkt die dazugehörige Kategorie bzw. sogar mit Link dazu ausgeben zu lassen?

    #2: Ich verwende ein Modul, das mich jedem Produkt Filterwerte für einen Suchfilter zuweisen lässt.
    Die IDs der Filterwerte werden dann in der Datenbank in der "products"-Tabelle in ein extra Feld namens "filters" bei jedem Produkteintrag eingefügt, und zwar in der folgenden Form:   "1 4 17 20 5 33" (nur ohne Anführungszeichen) (und bei einem anderen Produkt dann z.B. "9 12 44 8") .
    Bis jetzt habe ich lediglich hinbekommen, durch eine Erweiterung der includes/classes/product.php  diese IDs mit auszulesen und im Template auszugeben.
    Allerdings möchte ich nicht die Zahlen, sondern deren Namen (die in einer anderen Tabelle gespeichert sind) ausgeben, UND auch nicht alle sondern nur bestimmte (meinetwegen könnte ich die auch manuell eingrenzen, z.B. nur 4, 17 und 20).
    Und ich glaube, dafür bräuchte man eigentlich ein eigens geschriebenes MySQL-SELECT. Und da hab ich nun eine Denkblockade, denn mit SELECTS kenn ich mich so gut wie gar nicht aus.
    Ich brauche somit einen Tipp, wie ich die Filter-IDs aus der "products"-Tabelle den Namen aus der Filternamen-Tabelle zuordne UND dann auch nicht alle, sondern nur ausgewählte.
    Ich befürchte, so gut kann ich das Problem auch gar nicht beschreiben :D  Also falls dazu Fragen bestehen, ruhig tiefer graben ^^

    Vielleicht kommen ja einige nützliche Hinweise und Denkanstöße dabei heraus :)

    Es grüßt
    Dominik



    Linkback: https://www.modified-shop.org/forum/index.php?topic=3581.0
    Werbung / Banner buchen

    vr

    • modified Team
    • Beiträge: 2.664
    Kategorielinks und eigene SELECTs
    Antwort #1 am: 26. Januar 2010, 13:03:22
    Hallo Dominik,

    Angenommen, Du hast eine separate Tabelle filters für die Filterwerte, mit u.a. den Feldern filters_id und filters_value. Dann kannst Du die FilterID-Aufzählung aus products.filters mit der Filtertabelle so verknüpfen:

    Code: SQL  [Auswählen]
    SELECT f.filters_value
    FROM filters f
    JOIN products p ON concat(' ', p.filters, ' ') LIKE concat('% ', f.filters_id, ' %')
    WHERE
    -- hier die Einschränkungen, zb
    --   p.products_id = 4711
    --   f.filters_id <50
    --   etc
     
    Die join Bedingung sucht Filter_IDs der Filter-Tabelle in der Aufzählung aus products.filters. Die FilterIDs in der Aufzählung sind auf beiden Seiten durch Leerzeichen begrenzt (Du willst ja nicht 4 in 4711 finden, sondern nur freistehende 4en). Damit auch die äußeren FilterIDs gefunden werden, muss der Filteraufzählung links und rechts ein Leerzeichen hinzugefügt werden, das ist die linke Seite der join expression.

    Wenn Du die Filterwerte nicht als Menge, sondern als Aufzählung brauchst, machst Du ein group_concat, also bspw

    Code: SQL  [Auswählen]
    SELECT group_concat(f.filters_value)
    FROM filters f
    JOIN products p ON concat(' ', p.filters, ' ') LIKE concat('% ', f.filters_id, ' %')
     
    Wie sieht denn ein Filterwert aus und was soll er bewirken?
    Grüße, Volker

    Dominik23

    • Neu im Forum
    • Beiträge: 3
    Kategorielinks und eigene SELECTs
    Antwort #2 am: 26. Januar 2010, 13:54:25
    Hallo Volker,
    vielen Dank für die Antwort, und einigermaßen versteh ich auch deinen Code!
    Ich werde den mal ausprobieren und Bescheid sagen, obs geklappt hat oder nicht :)

    Was das für Filter sind:
    Eigentlich gehts um dieses Modul hier:
    http://www.(( Wir dulden keine kommerziellen Werbelinks - Bitte Forenregeln beachten! ))/XTC-Modul-Spezial-Filter-fuer-XT-Commerce.html

    In unserem Shop bieten wir selbst komponierte Musikstücke an. Mit diesem Filtermodul haben wir jedem Artikel bestimmte Werte zugewiesen. Übergeordnet gibt es noch Filter-"Kriterien".
    Ein Beispiel:
    Der Artikel XYZ bekommt aus dem Filter-Kriterium "Tempo" die Werte "langsam" und "sehr langsam" , dann noch aus dem Filter "Stimmung" den Wert "traurig" und aus dem Filter "Genre" den Wert "Popmusik".
    Diese Werte werden als IDs mit Leerzeichen als Trenner in der Produkt-Tabelle gespeichert, wie oben beschrieben (im extra "filters"-Feld).

    Eigentlich dient dieses Modul zum Suchen, weil man damit die Artikel nach den Kriterien filtern kann und nicht nur per Kategorien-Einteilung.
    Fanden wir sehr praktisch.
    Nur fänden wir es noch toller, wenn man ebenjene Werte auch anderswo anzeigen lassen könnte, z.B. in der Produktliste oder bei den Produktdetails.
    Deswegen der ganze SELECT-Kram ;)

    Schöne Grüße
    und ich geb Feedback zum Erfolg deines Codes
    Dominik

    vr

    • modified Team
    • Beiträge: 2.664
    Kategorielinks und eigene SELECTs
    Antwort #3 am: 26. Januar 2010, 14:04:53
    Verstehe. Das Thema hatten wir in letzter Zeit öfter. Schau mal hier. Es ging darum, dass Artikel zusätzliche Merkmale haben, und nach diesen Merkmalen komfortabel gesucht werden soll. Am besten noch mit Kategorienbezug. Die Volltextsuche im Suchfeld bzw die Erweiterte Suche reicht da nicht aus.

    Grüße, Volker

    Werbung / Banner buchen
    2 Antworten
    2056 Aufrufe
    11. Januar 2013, 18:39:20 von mw77
    2 Antworten
    2061 Aufrufe
    09. Juli 2014, 10:39:57 von jayjay1973
    10 Antworten
    3916 Aufrufe
    15. Februar 2010, 22:45:26 von Tomcraft
    3 Antworten
    888 Aufrufe
    29. November 2018, 19:54:59 von profrolfwolf