Kategorien nach Preisen und Größen filtern

Hallo, ich würde gerne die Kategorien zusätzlich nach Preisen und Größen filtern. Dies sollte über eine SELECT-Box geschehen (HTML->Form). Die Preisfilterung bekomme ich über die Suche, doch wie implementiere ich diese in der Kategorieansicht? Wenn ich das richtig sehe muss ich die Funktionen für Preis und Größe in den Viewport “s_cat.php” implementieren und die Variablen dann im Template “listing_actions.tpl” bereitstellen oder? PS: Ich habe bereits eine Hersteller-SELECT-Box dort implementiert die auch prima funktioniert. Über <option value="{$supplier.id}" eq>{$supplier.name} ({$supplier.countSuppliers})</option> versuche ich das “selected” zu setzen was jedoch nicht funktioniert. Gruß und Danke!

Niemand eine Idee?

Habe ich auch schon mehrfach angesprochen… Vielleicht ist das ja dann über den Produktberater der in der Ankündigung von Stefan angesprochen wurde möglich…

Ist momentan nur über Eigenschaften möglich. Problem ist nur, dass die Eigenschaft auch angezeigt wird, wenn die entsprechende Eigenschaft ausverkauft ist. Desshalb hoffen wir, dass sowas mit dem Produktberater kommt.

Hmmm…ich muss doch irgendwie eine Funktion einbauen können, welche mir die Größen aller Kategorie-Artikel in einem Array zurückgibt…

Ok habe es nun doch selbst geschafft ^^. Trotzdem vielen Dank für eure Hilfe.

Hey, magst du uns deinen Lösungsweg aufzeigen? Ist ja bestimmt auch für andere interessant!

Hi, na klar. Ich versuche es so gut wie möglich zu erklähren. Die Lösung fuktioniert “erstmal” für uns. Wir werden bestimmt noch daran schrauben: Schritt 1: Datei: listing_actions.tpl Position: Add after [code]

[/code] [code] {* Size filter *} {block name=‘frontend_listing_actions_sort’}

Grössenauswahl:
{/block} [/code] Dies wird das Design ziemlich zerflücken. Das muss dann manuell angepasst werden. Schritt 2: Datei: sArticles.php =\> public function sGetArticlesByCategory ($id=0,$blog=false,$limit=0) Position: Add after [code] if (!empty($this-\>sSYSTEM-\>\_GET['sSupplier'])){ $this-\>sSYSTEM-\>\_SESSION["sSupplier".$this-\>sSYSTEM-\>\_GET['sCategory']] = $this-\>sSYSTEM-\>\_GET['sSupplier']; $supplierInfo = $this-\>sGetSupplierById ($this-\>sSYSTEM-\>\_GET['sSupplier']); $supplierSQL = "AND supplierID=".intval($this-\>sSYSTEM-\>\_GET['sSupplier']); } else { $supplierSQL = ""; $supplierInfo = ""; } [/code] [code] if (!isset($this-\>sSYSTEM-\>\_POST['sSize'])) $this-\>sSYSTEM-\>\_POST['sSize'] = ""; if ($this-\>sSYSTEM-\>\_POST['sSize'] != "") { $size = $this-\>sSYSTEM-\>\_POST['sSize']; $sizesql = " AND 0 \< ANY( SELECT id FROM s\_articles\_details WHERE articleID=a.id AND additionaltext LIKE '%$size%' AND instock\>0 ) "; } [/code] Datei: sArticles.php Position: Add after first [code] AND ( SELECT articleID FROM s\_articles\_avoid\_customergroups WHERE articleID = a.id AND customergroupID = ".$this-\>sSYSTEM-\>sUSERGROUPDATA["id"]." ) IS NULL [/code] [code]$sizesql[/code] Beispiel für additionaltext bei uns: "Grösse: W36" Somit können wir in unserer Kategorieansicht nur eine Grösse anzeigen lassen (wenn sie denn auch einen positiven Bestand hat). Es fehlen zum Beispiel noch die Variablen für die Textbausteine falls es in einer anderen Sprache angezeigt werden soll. Wie gesagt, ist dies keine perfekte Lösung. Diese Lösung ist nicht jedem zu empfehlen, da ein Update der Software nun manuell gemacht werden muss! Ich hoffe es hilft vielleicht jemandem.

Hallo, habt ihr eine Preisfilterung auf Kategorieebene ebenfalls umgesetzt? Wir würden so etwas dringend benötigen und ich komme da leider nicht weiter.