Generell würde ich nur den Filter anzeigen lassen auf der Linken Seite im Shop. Die Shop Kategorien und Informationen sollen nicht angezeigt werden. Wo kann ich das einstellen? Gibt es eine Einstellung das der Filter immer ausgeklappt ist? Gruß und danke schon mal für die Hilfe
up
Hallo Aka-Sports, eine Einstellung im Backend zum Aufklappen der Filter gibt es nicht. Deshalb müsstes du das Auf- und Zuklappen der Filterboxen in der Javascript-Datei von Shopware bzw. von deinem Template ändern bzw. entfernen. Schau dazu in der jquery.shopware.js mal nach „slideContainer“. Wie genau das geht weiß ich aber leider auch nicht… Die andere - unsaubere Lösung - besteht vermutlich darin, einfach die CSS-Klasse „slideContainer“ aus der div-Box der Filter zu entfernen. Ich vermute, dass das Javascript dann nicht mehr auf die Slide-Boxen zugreifen kann. Ändern kann man das in der Template-Datei unter frontend/listing/filter_properties.tpl
kennt jemand ein vernünftiges Plugin für einen anständigen Filter mit eventuell Slider für Preisanpassung?
Hallo, mit einem fertigen Plugin kann ich da leider aktuell nicht weiterhelfen. Bzgl. der ausgeklappten Darstellung gab es hier bereits Ansätze post8353.html#p8353
Hallo zusammen, muss diesen Thread mal aus der Versenkung holen - denn das überlagern der jquery Funktion funktioniert nicht wie in dem verlinkten Thread (welcher auch zur Version 3.5.x war) - hat jemand eine updatefähige Möglichkeit gefunden? lg
Hallo, falls es noch jemand benötigt wie der Filter ausgeklappt angezeigt wird. In der templates/_default/frontend/_resources/javascript/jquery.shopware.js ist folgender Code( bei mir ab Zeile 3787) dafür verantwortlich das der Filter geschlossen ist wenn man auf die Seite gelangt. \* Supplier Filter \* for Shopware \* \* Shopware AG (c) 2010 \*/ (function ($) { //Default setttings var config = { slideContainer: '.supplier\_filter .slideContainer', plus: '.filter\_actions .plus', plusText: '+', minus: '.filter\_actions .minus', minusText: '-', expander: '.expandcollapse', expandAll: '.supplier\_filter div .expandcollapse', activeClass: 'active', animationSpeed: 'fast' }; $.fn.supplierfilter = function (settings) { //Extends default settings with user settings if (settings) { $.extend(config, settings); } this.each(function () { //Hides the container on start up if($(this).find('li').hasClass(config.activeClass)) { $(this).show(); } else { $(this).hide(); } //Bind click event on span $(this).prev('div').bind('click', function () { $(this).toggleClass(config.activeClass).next('.slideContainer').slideToggle(config.animationSpeed); if($(this).hasClass(config.activeClass)) { $(this).children(config.expander).text(config.minusText); } else { $(this).children(config.expander).text(config.plusText); } }); }); return this; };
Einfach den kompletten Eintrag nach //Hides the container on start up auskommentieren und schon funktioniert das der Filter ausgeklappt angezeigt wird. Bitte nicht vergessen den Cache zu löschen!! Der oben angegebene Code sieht nun wie folgt aus. \* Supplier Filter \* for Shopware \* \* Shopware AG (c) 2010 \*/ (function ($) { //Default setttings var config = { slideContainer: '.supplier\_filter .slideContainer', plus: '.filter\_actions .plus', plusText: '+', minus: '.filter\_actions .minus', minusText: '-', expander: '.expandcollapse', expandAll: '.supplier\_filter div .expandcollapse', activeClass: 'active', animationSpeed: 'fast' }; $.fn.supplierfilter = function (settings) { //Extends default settings with user settings if (settings) { $.extend(config, settings); } this.each(function () { //Hides the container on start up // if($(this).find('li').hasClass(config.activeClass)) { // $(this).show(); // } else { // $(this).hide(); // } //Bind click event on span $(this).prev('div').bind('click', function () { $(this).toggleClass(config.activeClass).next('.slideContainer').slideToggle(config.animationSpeed); if($(this).hasClass(config.activeClass)) { $(this).children(config.expander).text(config.minusText); } else { $(this).children(config.expander).text(config.plusText); } }); }); return this; };
Leider ist dieser diese Änderung nicht update-sicher da die Änderung im _default Template erfolgt. Viele Grüße Uwe
Wird updatesicher, wenn eine neue Datei z.B. jquery.custom.js im Template/_resources/javascript Ordner angelegt wird mit dem auskommentierten Code wie oben angegeben /** * Supplier Filter * for Shopware * * Shopware AG © 2010 */ (function () { //Default setttings var config = { slideContainer: '.supplier\_filter .slideContainer', plus: '.filter\_actions .plus', plusText: '+', minus: '.filter\_actions .minus', minusText: '-', expander: '.expandcollapse', expandAll: '.supplier\_filter div .expandcollapse', activeClass: 'active', animationSpeed: 'fast' }; .fn.supplierfilter = function (settings) { //Extends default settings with user settings if (settings) { .extend(config, settings); } this.each(function () { //Hides the container on start up // if((this).find(‘li’).hasClass(config.activeClass)) { // (this).show(); // } else { // (this).hide(); // } //Bind click event on span (this).prev('div').bind('click', function () { (this).toggleClass(config.activeClass).next(’.slideContainer’).slideToggle(config.animationSpeed); if((this).hasClass(config.activeClass)) { (this).children(config.expander).text(config.minusText); } else { $(this).children(config.expander).text(config.plusText); } }); }); return this; }; })(jQuery); - Nun im index/header.tpl folgenden Code einfügen {block name=“frontend_index_header_javascript_jquery” append} {/block} Dies genügt und die _default/jquery.shopware.js bleibt unberührt. Grüße Ben
Hallo Ben, danke für die Lösung es update sicher zu gestalten. Habe ich auch gleich umgesetzt und es funktioniert super. Viele Grüße Uwe
Blöde Frage - wo genau füge ich denn im header den Block ein? Unter dem Orginal-Part, also so: {block name="frontend\_index\_header\_javascript\_jquery"} <script type="text/javascript" src="%7Blink%20file='frontend/_resources/javascript/jquery.shopware.js'%7D"></script> {/block} {block name="frontend\_index\_header\_javascript\_jquery" append} <script type="text/javascript" src="%7Blink%20file='frontend/_resources/javascript/jquery.custom.js'%7D"></script> {/block}
Das führt bei mir jedenfalls dazu, dass die Filter geschlossen sind und sich bei Klick sofort wieder schließen. Ersetze ich den Abschnitt, passiert leider gar nix, die Filter bleiben (auch bei Cache-Leerung) geschlossen. …
[quote=„terzel_79“]Blöde Frage - wo genau füge ich denn im header den Block ein? Unter dem Orginal-Part, also so: {block name="frontend\_index\_header\_javascript\_jquery"} <script type="text/javascript" src="%7Blink%20file='frontend/_resources/javascript/jquery.shopware.js'%7D"></script> {/block} {block name="frontend\_index\_header\_javascript\_jquery" append} <script type="text/javascript" src="%7Blink%20file='frontend/_resources/javascript/jquery.custom.js'%7D"></script> {/block}
Das führt bei mir jedenfalls dazu, dass die Filter geschlossen sind und sich bei Klick sofort wieder schließen. Ersetze ich den Abschnitt, passiert leider gar nix, die Filter bleiben (auch bei Cache-Leerung) geschlossen. …[/quote] Hallo, die Dateien gehören in deinem Template. Als Beispiel nehme ich das „emotion_black“ im Ordner Templates. Dort erstelle ich unter frontend/_resources einen neuen Ordner mit dem Namen javascript. In den Ordner javascript lege ich nun die jquery.custom.js. Jetzt wechsel ich nach frontend und öffne den Ordner index. Dort lade ich mir die header.tpl runter und füge den Block-Code dort ein. Alles wieder hochladen und im Backend den cache leeren. So wurde es aber auch in den vorherigen Fred’s beschrieben. Gruss Michael
Ja du überschreibst den Block und dann “appendest” du kurz danach. Das macht keinen Sinn. Im Wiki gibt es gute Beispiele. An die würde ich mich mal lang hangeln. Sent from my iPad using Tapatalk
Wie kriege ich es hin, dass der Filter nicht mehr zu klappbar ist? Ich habe in auch offen dargestellt und die möchte gerne das zuklappen entfernen. Weiss jemand welchen Code-Schnipsel ich da entfernen muss?
Klappt das auch noch bei der aktuellen Version 5.3.4, oder gibt es da eine ähnliche Lösung? Ich würde den Filter auch gern aufgeklappt anzeigen lassen.