Hi!
Wenn ich bei einem Attribut den Punkt "Add to "Order By" option list" auswähle, erscheint der Eintrag doppelt in meiner Filterung.
Kann man das irgendwie verhindern?
LG
Melanie
Hi!
Wenn ich bei einem Attribut den Punkt "Add to "Order By" option list" auswähle, erscheint der Eintrag doppelt in meiner Filterung.
Kann man das irgendwie verhindern?
LG
Melanie
Hi,
Filter erscheinen immer immer zweimal. 1. für aufsteigend, 2. für absteigend.
Du kannst aber auch im Template (mod_iso_productfilter) eigene Filter definieren. Ich hab das mal quick & dirty für ein Projekt gemacht.
Ganz normal im Attribut als Order By aktivieren und im Template steht dann der Feldname bereit.
In diesem Beispielt die Felder: name, filter_contributor, price und als erster Filter "-" damit alles wieder auf Null gesetzt wird.
Ich häng dir meinen Code mal ran. Andreas und die anderen PHP Leute werden sicher schnell ne saubere Lösung präsentieren. Besonders für die "selected" Option im <option> tag.
(Das Formular wird jetzt auch direkt nach dem auswählen gesendet. Auskommentiert ist der Standard-Code.)
Vielleicht hilfts,
Grüße
PHP-Code:
<div class="filter_order_by">
<?php
$arr = explode("=", $_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI']);
$selected = $arr[1];
?>
<label for="order_by">Sort by<?php //echo $this->orderByLabel; ?></label>
<select name="order_by" id="ctrl_order_by" class="select" onchange="submit();">
<option value="">-</option>
<option value="name" <?php if($selected == 'name'): ?> selected="selected"<?php endif; ?> >Name</option>
<option value="filter_contributor" <?php if($selected == 'filter_contributor'): ?> selected="selected"<?php endif; ?> >Contributor</option>
<option value="price" <?php if($selected == 'price'): ?> selected="selected"<?php endif; ?>>Preis</option>
<?php foreach($this->orderBy as $value=>$label): ?>
<!-- <option value="<?php echo $value; ?>"<?php echo ($value==$this->order_by ? " selected" : "") ?>><?php echo $label; ?></option> -->
<?php endforeach; ?>
</select>
</div>
Super, danke. Werd das mal die Tage ausprobieren.
Was mir noch aufgefalle ist, ist:
Ich habe 2 Filter auf der Seite eingebaut. Jeder soll nach etwas anderen filtern.
Allerdings, wenn ich den ersten Filter verändere, ändert sich auch der zweite automatisch mit. ( auch wenn nicht sie selben Werte drin stehen, dann taucht stattdessen ein - auf)
Wodran kann das wohl liegen?
Du hast eigene Filter gesetzt, richtig? Wichtig ist, das die eigenen Filter auch in den Attributen ausgewählt sind. Standards wie Name und Preis sind immer aktiv.
Das "-" taucht auf, wenn die selected option nicht greift. Dann nimmt er den ersten Eintrag in der Optionsliste und das ist "-".
Ich hab mir halt einen workaround gebaut, weil ich nicht wusste wie ich die Selectbox richtig auf den aktuellen Filter setzt nachdem man gefiltert hat und die Seite neu aufgebaut wurde.
Ich schaue in der PHP Abfrage nach dem aktuellen Request-String und zerlege diesen das nach dem "=". Dann bleibt nur noch der Filtername stehen den ich unten im "selected" vergleiche.
So umständlich wie es erklärt ist, ist es bestimmt auch realisiert
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
Lesezeichen