FeatureLinkPlugin (Filterverlinkungen im Frontend)

Thema wurde von Timo (Gambio), 27. April 2012 erstellt.

  1. C h r i s t i a n

    C h r i s t i a n G-WARD 2012

    Registriert seit:
    26. April 2011
    Beiträge:
    3.456
    Danke erhalten:
    330
    Danke vergeben:
    551
    #181 C h r i s t i a n, 16. November 2012
    Zuletzt bearbeitet: 16. November 2012
    Bei mir hat es geklappt.

    Sieht schön aus, aber bei großen Shops unbrauchbar, einfach zu viel Arbeit... Warum kann sowas nicht so gebaut werden, das man auf Kategorieebene die Sets und alles zuweisen kann? jeder Klick in die Artikelbearbeitung kost Geld.
     
  2. C h r i s t i a n

    C h r i s t i a n G-WARD 2012

    Registriert seit:
    26. April 2011
    Beiträge:
    3.456
    Danke erhalten:
    330
    Danke vergeben:
    551
    Die Funktion für den Kunden im Frontend funktioniert bei mir :)
     
  3. Bueroland

    Bueroland Aktives Mitglied

    Registriert seit:
    25. Juni 2012
    Beiträge:
    38
    Danke erhalten:
    17
    Danke vergeben:
    29
    Es scheint alles zu funktionieren. Im Backend und Frontend. Aber wenn man sich länger Mal durch die Filter in Frontend durchklickt, bekommt SQL-Error ins Gesicht.

    hier 2 davon:
    Code:
     SELECT DISTINCT
                                                                                                    fsv.feature_value_id
                                                                                    FROM
                                                                                                    feature_set_values as fsv
                                                                                                    LEFT JOIN feature_set AS fs ON (fsv.feature_set_id = fs.feature_set_id)
                                                                                                    LEFT JOIN categories_index AS ci ON (fs.products_id = ci.products_id)
                                                                                                    LEFT JOIN feature_index AS fi ON (fs.feature_set_id = fi.feature_set_id)
                                                                                                    LEFT JOIN feature_value AS fv ON (fv.feature_value_id = fsv.feature_value_id)
                                                                                    WHERE
                                                                                                    ci.categories_index LIKE '%-1-%' AND (((fi.feature_value_index REGEXP ('-15-') AND fi.feature_value_index REGEXP ('-22-') AND fi.feature_value_index REGEXP ('-36-') AND fi.feature_value_index REGEXP ('-379-') AND fi.feature_value_index REGEXP ('-4-') AND fv.feature_id = 1) OR fv.feature_value_id IN ( 381,375,5,3,6,3 )) OR ((fi.feature_value_index REGEXP ('-3-|-3-|-5-|-6-|-375-|-381-') AND fi.feature_value_index REGEXP ('-22-') AND fi.feature_value_index REGEXP ('-36-') AND fi.feature_value_index REGEXP ('-379-') AND fi.feature_value_index REGEXP ('-4-') AND fv.feature_id = 4) OR fv.feature_value_id IN ( 15 )) OR ((fi.feature_value_index REGEXP ('-3-|-3-|-5-|-6-|-375-|-381-') AND fi.feature_value_index REGEXP ('-15-') AND fi.feature_value_index REGEXP ('-36-') AND fi.feature_value_index REGEXP ('-379-') AND fi.feature_value_index REGEXP ('-4-') AND fv.feature_id = 6) OR fv.feature_value_id IN ( 22 )) OR ((fi.feature_value_index REGEXP ('-3-|-3-|-5-|-6-|-375-|-381-') AND  fi.feature_value_index REGEXP ('-15-') AND fi.feature_value_index REGEXP ('-22-') AND fi.feature_value_index REGEXP ('-379-') AND fi.feature_value_index REGEXP ('-4-') AND fv.feature_id = 9) OR fv.feature_value_id IN ( 36 )) OR ((fi.feature_value_index REGEXP ('-3-|-3-|-5-|-6-|-375-|-381-') AND fi.feature_value_index REGEXP ('-15-') AND fi.feature_value_index REGEXP ('-22-') AND fi.feature_value_index REGEXP ('-36-') AND fi.feature_value_index REGEXP ('-4-') AND fv.feature_id = 8) OR fv.feature_value_id IN ( 379 )) OR ((fi.feature_value_index REGEXP ('-3-|-3-|-5-|-6-|-375-|-381-') AND fi.feature_value_index REGEXP ('-15-') AND fi.feature_value_index REGEXP ('-22-') AND fi.feature_value_index REGEXP ('-36-') AND fi.feature_value_index REGEXP ('-379-') AND fv.feature_id = ) OR fv.feature_value_id IN ( 4 ))) AND fv.feature_id IN (1,4,6,9,8,) 
                                                                                    ORDER BY
                                                                                                    fsv.feature_value_id
      
    
    You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ') OR fv.feature_value_id IN ( 4 ))) AND fv.feature_id IN (1,4,6,9,8,)
    ORDE' at line 10

    Code:
     SELECT DISTINCT
                                                                                                    fsv.feature_value_id
                                                                                    FROM
                                                                                                    feature_set_values as fsv
                                                                                                    LEFT JOIN feature_set AS fs ON (fsv.feature_set_id = fs.feature_set_id)
                                                                                                    LEFT JOIN categories_index AS ci ON (fs.products_id = ci.products_id)
                                                                                                    LEFT JOIN feature_index AS fi ON (fs.feature_set_id = fi.feature_set_id)
                                                                                                    LEFT JOIN feature_value AS fv ON (fv.feature_value_id = fsv.feature_value_id)
                                                                                    WHERE
                                                                                                    ci.categories_index LIKE '%-1-%' AND (((fi.feature_value_index REGEXP ('-16-') AND fi.feature_value_index REGEXP ('-29-') AND fi.feature_value_index REGEXP ('-1-') AND fv.feature_id = 12) OR fv.feature_value_id IN ( 383 )) OR ((fi.feature_value_index REGEXP ('-383-') AND fi.feature_value_index REGEXP ('-29-') AND fi.feature_value_index REGEXP ('-1-') AND fv.feature_id = 5) OR fv.feature_value_id IN ( 16 )) OR ((fi.feature_value_index REGEXP ('-383-') AND fi.feature_value_index REGEXP ('-16-') AND fi.feature_value_index REGEXP ('-1-') AND fv.feature_id = 7) OR fv.feature_value_id IN ( 29 )) OR ((fi.feature_value_index REGEXP ('-383-') AND fi.feature_value_index REGEXP ('-16-') AND fi.feature_value_index REGEXP ('-29-') AND fv.feature_id = ) OR fv.feature_value_id IN ( 1 ))) AND fv.feature_id IN (12,5,7,) 
                                                                                    ORDER BY
      [FONT=&quot]                                                                                              fsv.feature_value_id[/FONT]
    
    You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ') OR fv.feature_value_id IN ( 1 ))) AND fv.feature_id IN (12,5,7,)
    ORDER B' at line 10

    Ich sehe auf ein Komma zu viel...
     
  4. Steffen (indiv-style.de)

    Steffen (indiv-style.de) G-WARD 2013/14/15/16

    Registriert seit:
    30. Juni 2011
    Beiträge:
    5.143
    Danke erhalten:
    1.466
    Danke vergeben:
    452
    Beruf:
    Systemadmin, Webentwickler bei Indiv-Style
    Ort:
    PhpStorm
    Nö, stimmt nicht! Bei grossen Shops bestückst du die DB eh mit Schnittstellen. Wir haben damit keine Probleme.
     
  5. Timo (Gambio)

    Timo (Gambio) Administrator

    Registriert seit:
    23. Juni 2011
    Beiträge:
    1.688
    Danke erhalten:
    651
    Danke vergeben:
    46
    Wie willst du denn solche Informationen auf Kategorie Ebene darstellen?

    In welcher Form ist das Mehraufwand bei großen Shops? Kannst du mir das kurz erklären?

    MfG,
    Timo
     
  6. C h r i s t i a n

    C h r i s t i a n G-WARD 2012

    Registriert seit:
    26. April 2011
    Beiträge:
    3.456
    Danke erhalten:
    330
    Danke vergeben:
    551
    Ich weiß es nicht, ich sehe nur das ich alle vorhandenen Filter löschen kann und dann nochmal alles neu machen oder gibt es was wovon ich nichts weiß?

    Wie man das auf Kategorieebene lösen kann weiß ich auch nicht, könnte mir aber vorstellen das per Javascript bei jeden Artikel Checkboxen geladen werden. Und diese känn man alle markieren - na ja Wunschdenken :cool:....
     
  7. Timo (Gambio)

    Timo (Gambio) Administrator

    Registriert seit:
    23. Juni 2011
    Beiträge:
    1.688
    Danke erhalten:
    651
    Danke vergeben:
    46
    Warum musst du denn alles neumachen?

    Im Artikel musste man ja bisher die Zuweisung zwischen Produkt und den Kategorie-Filtern vornehmen. Diese Informationen wurden nun automatisiert in ein Set gespeichert. Dadurch brauchen Shopbretreiber, die keine sich ausschließenden Filterwerte haben, überhaupt nichts machen. Bei Shopbetreiber, wo eben dieses Problem besteht, müsste man noch ein wenig nacharbeiten. Grundsätzlich hat sich an dem System augenscheinlich nicht viel geändert. Die Shopbetreiber müssen weiterhin die Filter anlegen, diese danach einer Kategorie zuweisen und letztendlich das Produkt mit den Filterwerten verknüpfen. Durch das Update kann man nun die Zuweisungen in Sets gruppieren. Mehr ist es eigentlich nicht. Aufgrund dieser kleinen Strukturänderung ist es aber möglich Filterwerte im Shop auszusortieren.

    Auf Kategorieebene kann man dies nicht lösen, da man eine explizite Verknüpfung zwischen Produkt und Filterwerten benötigt. Dabei sind die Verknüpfungen bei jedem Produkt anders, weshalb keine Bearbeitung auf Kategorie-Ebene stattfinden kann.

    Anscheinend hat sich ein leerer Eintrag in dem Feature-Array gebildet. Das müssten wir uns mal genauer anschauen. Am besten, du erstellst mal ein Ticket und schickst uns die Zugangsdaten, damit wir uns das anschauen können!

    MfG,
    Timo
     
  8. C h r i s t i a n

    C h r i s t i a n G-WARD 2012

    Registriert seit:
    26. April 2011
    Beiträge:
    3.456
    Danke erhalten:
    330
    Danke vergeben:
    551
    Ja, jetzt habe ich gesehen das ich nicht großartig was ändern muß.

    Da habe ich mich falsch ausgedrückt :( Problem ist einfach in fast jeden Shopsystem das kleiche (fast). Die Artikelbearbeitung ist unübersichtlich und zu verspielt! Warum können die Artikel in einen Durchgang nicht dort (Bild - schneller Entwurf) bearbeitet werden?

    filter.jpg
     
  9. C h r i s t i a n

    C h r i s t i a n G-WARD 2012

    Registriert seit:
    26. April 2011
    Beiträge:
    3.456
    Danke erhalten:
    330
    Danke vergeben:
    551
    ziehe meinen Vorschlag zurück......
     
  10. Timo (Gambio)

    Timo (Gambio) Administrator

    Registriert seit:
    23. Juni 2011
    Beiträge:
    1.688
    Danke erhalten:
    651
    Danke vergeben:
    46
    Hi Christian,
    magst du uns verraten warum? Grundsätzlich ist es ja eine gute Idee. Wenn die Darstellung vernünftig durchdacht ist, spreche da doch nichts gegen, oder?

    MfG,
    Timo
     
  11. C h r i s t i a n

    C h r i s t i a n G-WARD 2012

    Registriert seit:
    26. April 2011
    Beiträge:
    3.456
    Danke erhalten:
    330
    Danke vergeben:
    551
    naja, ich schätze mal das, das auch wieder so ein Fall ist, wo ihr zu lange programmieren müßtet? Und ich glaub ich bin der einzige der das gerne so hätte. Das will ich aber nicht :)
     
  12. sileo

    sileo Erfahrener Benutzer

    Registriert seit:
    22. März 2012
    Beiträge:
    2.266
    Danke erhalten:
    274
    Danke vergeben:
    205
    Ich kenne die BETA-Version der Artikelfilter noch nicht. Geht es darum, die Zuordnungen im admin in der Kategorieübersicht machen zu können und nicht im Artikel?

    Da wäre ich voll dafür, weil das deutlich an Transparenz gewinnt!
     
  13. Timo (Gambio)

    Timo (Gambio) Administrator

    Registriert seit:
    23. Juni 2011
    Beiträge:
    1.688
    Danke erhalten:
    651
    Danke vergeben:
    46
    Hallo Angelika,
    die Zuordnung geschieht weiterhin im Artikel wie bisher. Nur wird dies nun gruppenweise getätigt.

    Wir haben noch 2 kleinere Fehler entdeckt. Wir warten aber noch mit der nächsten Beta Version (eventuell müssen noch kleinere Anpassungen getätigt werden). Anbei findet ihr aber schonmal die beiden gefixten Dateien:
    1. /templates/EyeCandy/javascript/FeatureLinkPlugin.js
    2. /system/data/FeatureSetSource.inc.php

    Bekannte Bugs der Beta 3:
    1. Im JavaScript werden beim Ausblenden bereits angeklickte Checkbox nicht deselektiert. Fehler tritt auf, wenn Werte durch eine wichtige Änderung ausgeblendet werden. Macht man die Änderung rückgängig, sind die zuvor gewählten Werte wieder selektiert. Zudem kann es dadurch zu einer leeren Ergebnisseite kommen, da beim Suchen auch die ausgeblendeten angeklickten Werte übertragen werden.
    2. Beim Deselektieren eines Wertes kann es zum SQL Fehler kommen, da die Wiederherstellung bereits späterer angeklickter Werte nicht mehr korrekt funktioniert.

    Beide Bugs sind durch Korrekturen der angehängten Dateien gefixt.

    Greetz,
    Timo
     

    Anhänge:

  14. Steffen (indiv-style.de)

    Steffen (indiv-style.de) G-WARD 2013/14/15/16

    Registriert seit:
    30. Juni 2011
    Beiträge:
    5.143
    Danke erhalten:
    1.466
    Danke vergeben:
    452
    Beruf:
    Systemadmin, Webentwickler bei Indiv-Style
    Ort:
    PhpStorm
    wieso wird ein Set was schon existiert nochmals angelegt??? Die beiden Artikel haben identische Werte. Wäre es da nicht sinnvoll das gleiche Set zu verwenden???
     
  15. Timo (Gambio)

    Timo (Gambio) Administrator

    Registriert seit:
    23. Juni 2011
    Beiträge:
    1.688
    Danke erhalten:
    651
    Danke vergeben:
    46
    Das ist korrekt, da wir aber noch nicht wissen, ob das System soweit funktioniert, haben wir uns erstmal für die "einfache" Variante entschieden. Wie bereits geschrieben, sind wir damit auch noch nicht fertig. Es wird noch einige Anpassungen geben, unter anderem auch bei der Optimierung der Datenstruktur.

    So lange wir aber keine endgültige Lösung haben, werden wir auch keine Optimierungen vornehmen...

    MfG,
    Timo
     
  16. Steffen (indiv-style.de)

    Steffen (indiv-style.de) G-WARD 2013/14/15/16

    Registriert seit:
    30. Juni 2011
    Beiträge:
    5.143
    Danke erhalten:
    1.466
    Danke vergeben:
    452
    Beruf:
    Systemadmin, Webentwickler bei Indiv-Style
    Ort:
    PhpStorm
    Zwei Fragen:

    V 2.010 installiert -> SP 2.011 aufgespielt
    Kann ich jetzt die BETA4 Draufmachen ohne etwas vom SP 2.011 zu zerstören???

    Werden die Sets immer noch mehrfach angelegt?
     
  17. Timo (Gambio)

    Timo (Gambio) Administrator

    Registriert seit:
    23. Juni 2011
    Beiträge:
    1.688
    Danke erhalten:
    651
    Danke vergeben:
    46
    Hallo Steffen,
    die BETA 4 sollte komplett kompatibel mit der 2.0.11.0 sein, da beide Updates zeitgleich in der selben Instanz (Branch) entwickelt wurden. Die Sets werden derzeit jedoch noch mehrfach angelegt. WIr haben nun einen Stand, den man so erstmal gut verwenden kann, weshalb wir uns nun auf andere Updates (z.B. 2.0.12.0) konzentrieren. Letzte Woche haben wir beispielsweise über 60 Bugs für die 2.0.12.0 gefixt.

    Für das Master Update (Version 2.1.0.0) werden wir aber natürlich noch Optimierungen vornehmen, die derzeit jedoch nur geringere Priorität haben. Du kannst natürlich die Filter bereits jetzt verwenden, da wir später ein kleines Script schreiben werden, welches die mehrfachen Sets auf eins verkleinern wird.

    MfG,
    Timo
     
  18. Steffen (indiv-style.de)

    Steffen (indiv-style.de) G-WARD 2013/14/15/16

    Registriert seit:
    30. Juni 2011
    Beiträge:
    5.143
    Danke erhalten:
    1.466
    Danke vergeben:
    452
    Beruf:
    Systemadmin, Webentwickler bei Indiv-Style
    Ort:
    PhpStorm
    OK, danke, dann werden wir uns mal an die automatische Filtererstellung machen! 25000 Stück mach ich im Leben nicht händisch! GRINS...
     
  19. Timo (Gambio)

    Timo (Gambio) Administrator

    Registriert seit:
    23. Juni 2011
    Beiträge:
    1.688
    Danke erhalten:
    651
    Danke vergeben:
    46
    Wenn du da eventuell die ersten Ergebnisse hast, magst du mir dann mal den Link zum Testshop schicken? Wir haben immer noch keine Vergleichszahlen was Performance angeht. Und bei 25000 Artikel kommen ja einige Sets zusammen, sodass man dann eventuell reele Ladezeiten etc. hat.

    MfG,
    Timo
     
  20. Steffen (indiv-style.de)

    Steffen (indiv-style.de) G-WARD 2013/14/15/16

    Registriert seit:
    30. Juni 2011
    Beiträge:
    5.143
    Danke erhalten:
    1.466
    Danke vergeben:
    452
    Beruf:
    Systemadmin, Webentwickler bei Indiv-Style
    Ort:
    PhpStorm