Neuer Filter (Shopware 5.3) - wie Filter-Optionen dauerhaft aufgeklappt?

Hallo zusammen,

ich bin im allgemeinen sehr begeistert von dem neuen Filter ab Version 5.3, mir fehlt nur noch eine Kleinigkeit:

Ist es irgendwie möglich alle Filteroptionen dauerhaft geöffnet in der linken Spalte darzustellen? Also so, dass man nicht extra auf den Pfeil klicken muss, damit sie erscheinen? Genau wie in diesem Shop: https://shop.bvb.de/herren/?p=1
 

Diese Möglichkeit versuche ich auch gerade einzubauen. Wenn du das Template unter frontend/listing/filter/facet-value-list.tpl ableitest, kannst du dort in Zeile 4 der Divbox schon mal die Klasse „is–collapsed“ mitgeben, dann werden alle Eigenschaften bei Seitenrelaod geöffnet angezeigt.

Allerdings muss zusätzlich noch eine Anpassung im Javascript erfolgen sonst gehen sie alle wieder zu wenn man einen schließen will. An der Stelle komme ich leider auch nicht weiter und würde Hilfe benötigen.

Danke für den Ansatz, aber wenn ich diese Datei von meinem Server öffne, ist das keien Divbox zu finden. Vlt hat sich hier was ab 5.3 geändert, oder ich suche an der falschen Stelle… :D

Mir würde es für den Anfang auch schon reichen, wenn einfach alle filter dauerhaft aufgeklappt sind. Ich habe das Design eh ein wenig abgeändert, so dass es keine Dropdown-Felder mehr sind.
Hat hier wirklich niemand einen Ansatz für mich?

PS: ist übrigens ja auch GENAU so im Shopware-Store. Verstehe nicht, warum man seinen Kunden diese Option nicht bietet, wenn man sie selbst für die beste erachtet…

Vlt hat ja mittlerweile jemand eine Lösung? :confused: Sitze hier immer noch ohne Ansatz…

Der Anfang ist jetzt gemacht:

Ich habe in der Zeile 4 der Datei “filter-multi-selection.tpl” (unter  frontend/listing/filter/_includes) is–collapsed hinzugefügt - das brachte schonmal den ersten Erfolg, jedoch haben sie die geöffneten Filter beim klick in “leere” oder z.B. beim klick auf den Button zum zurücksetzen der Filter immer wieder geschlossen.

Ich habe mir jetzt so geholfen, dass ich in der Datei “jquery.filter-components.js” ab Zeile 675 auch einfach die Funktion zum öffnen (gleiche Datei, Zeile 660-670) nutze:
 

        close: function() {
            var me = this;

            if (closeSiblings) {
                me.$siblings.removeClass(me.opts.collapseCls);
            }

            me.$el.addClass(me.opts.collapseCls);

            $.publish('plugin/swFilterComponent/onClose', [me]);
        },

Jetzt ist es FAST genau wie ich es möchte, die Filteroptionen sind immer sichtbar - ABER beim klick auf den kleinen Pfeil können sie sich jetzt natürlich nicht mehr schließen.
Vlt erbarmt sich ja doch noch jemand und hilft mir jetzt! :wink:

Liebe Grüße

{extends file='parent:frontend/listing/index.tpl'}

{* Include jQuery and all other javascript files at the bottom of the page *}
{block name="frontend_index_header_javascript_jquery_lib"}
    {$smarty.block.parent}
    
		document.asyncReady(function() {
			$('.is--ctl-listing .action--filter-options').addClass('is--collapsed');
			$('.is--ctl-listing .action--filter-btn .filter--trigger.btn').addClass('is--active');
			$('.is--ctl-listing .filter--facet-container').show();
		});
    
{/block}

So funktioniert es in Shopware 5.3. 

Viele Grüße aus Wiesbaden!  Halo

1 Like

Hallo azur,
bei mir funktioniert es leider nicht (cache usw. geleert), habe in /frontend/listing eine index.tpl mit deinem Inhalt erstellt.

Die Filter bleiben aber zu.

Leider funktioniert die Lösung von “azur” bei mir auch nicht. Ein Plugin wäre natürlich eien Möglichkeit allerdings probiere ich Plugins bei “Kleinigkeiten” stets zu vermeiden. Ich denke hier wird sich früher oder später eien Lösung finden. ein kleines “workaround” hab ich oben ja bereits erwähnt…

Vielleicht kann uns Azur nochmal zur Seite stehen?  Halo

{extends file='parent:frontend/listing/index.tpl'}

{* Include jQuery and all other javascript files at the bottom of the page *}
{block name="frontend_index_header_javascript_jquery_lib"}
    {$smarty.block.parent}
    
		document.asyncReady(function() {
			$('.is--ctl-listing .filter-panel').addClass('is--collapsed');
		});
    
{/block}

Hallo zusammen,

sorry für die späte Rückmeldung. Ich habe mir das Szenario gerade nochmal angeschaut. Um die Filter links beim Laden der Seite alle geöffnet anzuzeigen, müsste der obige Code jetzt funktionieren. Wenn ihr allerdings außerhalb der Filter klickt, schließen sich diese alle wieder :wink:

Viele Grüße aus Wiesbaden!  Halo

1 Like

Hatte vor Jahren mal nen JS Plugin gebaut, sollte theoretisch immer noch funktkionieren:

https://github.com/hostianer/HostiFilter/blob/master/Views/frontend/_public/src/js/jquery.listing-actions.js

1 Like

funkioniert optimal in 5.4.3 !!! Merci

  - einfach im Theme -> frontend/_public/src/js/jquery.listing-actions.jsdiese Datei anlegen (mit Inhalt von Github)

  • die Datei in der Theme.php einbinden

fertig!

 

Hat zufällig noch jemand das JS Snippet? Auf github gibt es den Account leider nicht mehr.

THX

Jup, ich habs noch…

@Murmeltier‍ könntest du es mir eben auch noch zukommen lassen? 

 

lg 

Hallo zusammen,

könnte man das JS Snippet eventuell noch mal der Allgemeinheit zu Verfügung stellen? ich hätte auch Interesse daran :slight_smile:

Grüße, Florian

Ja hier, ich auch!!!

Ich meld mich ebenfalls mal :slight_smile:

Ich würde mich auch freuen … Smile