Jump to content

Block Facettennavigation - nur mit Bestand anzeigen


Recommended Posts

Hallo Ihr Lieben,

 

vielleicht hat jemand nen Tipp.

 

Ich verkaufe Schuhe und beim Block Facettennavigation werden auch die Schuhgrößen angezeigt, die nicht auf Lager sind, also keinen Bestand mehr haben.

 

Wie kann ich dieses Modul so einstellen, dass nur Varianten mit Bestand angezeigt werden?


 

Vielen Dank vorab!


 

Sören

Link to comment
Share on other sites

  • 1 month later...

Moin, 

in den Einstellungen bei der Facettennavi kannst du dir ja "Filtervorlagen" erstellen. Hast du eine erstellt, kannst du darin auch einen "Artikel-Lager-Filter" aktivieren. (Ob das bei Varianten funzt weiß ich leider nicht.)

 

So kann zumindest der Shopbesucher selbst einstellen, ob er die nicht-verfügbaren mit angezeigt bekommt oder nicht.

 

Vielleicht wusstest du das aber auch schon.....

 

 

Warum ich diesen Thread gefunden habe ist, dass ich ähnliche "Problemstellung" habe.

 

Der o.g. Artikel-Lager-Filter ist super, noch superer wäre er allerdings, wenn man ihn vorbelegen könnte.

D.h. Vorbelegung - nicht-verfügbare - aus

 

Der Besucher könnte sich dann selbst noch mal überlegen ob er das ändern möchte, findet serienmäßig aber erst mal nur alle verfügbaren Produkte.

 

An dieser Stelle kommt meine Frage, gibt es eine Möglichkeit eben diesen Filter vorzubelegen?

Im Modul selber kann ich dazu nichts finden.

 

ODER, weiß jemand in welcher Datei im Modul blocklayered eine entsprechende Einstellung vorzunehmen ist? Ich bin kein Programmierer, aber irgendwo werden die aktivierten Filter ja genannt sein, vielleicht könnte man an solch einer Stelle von Voreinstellung false auf true gehen oder ähnlich.

 

Dann würden dem Besucher die nicht-verfügbaren nämlich hübsch ausgeblendet.

 

Wäre toll, wenn jemand Rat weiß.

 

Ahoi

Micha 

Edited by bleumel (see edit history)
Link to comment
Share on other sites

Du könntest es mit einer Umleitung in der .htaccess versuchen (alle URLs von Kategorieseiten oder auch nur bestimmte um den Filter ergänzen). Wie die Ergänzung lautet, siehst du, wenn du den Filter auf einer Seite anklickst im Adressfeld. Ich weiß allerdings nicht, ob das so funktioniert oder ob spätestens beim Auswählen einer weiteren Option Prestashop ins Schleudern kommt.

Link to comment
Share on other sites

Danke für den Tipp. htaccess läuft bei mir jedoch nicht, weil ich auf einem NGINX Server sitze, der die htaccess nicht beachtet. Musste ich auch erst lernen, als ich nach Shopumzug meine ganzen 301 einrichten wollte, was so natürlich nicht ging. ;)

 

Ich denke, dass es in der Datei blocklayered.php etwas umzuschreiben gibt, womit man den Filter auf aktiv setzen kann, also aktiv ist er ja eh, aber vorbelegt mit der Auswahl.

 

Ja, vielleicht hat da jemand ja einen Tipp zum Code....

Link to comment
Share on other sites

Hallo zusammen,

 

habe momentan das gleiche Problem. Unser Shop verkauft unter anderem Schuhe. Hierbei soll der Kunde nur diese sehen, welche auch noch verfügbar in seiner Größe vorhanden sind.

 

Das klappt mit dem Standard Facettennavigation nicht.

 

Habe hier einen Link aus dem englischen Forum.

 

https://www.prestashop.com/forums/topic/447213-layered-navigation-block-module-dont-display-out-of-stock-products-for-choosen-attributes/

 

Problem hierbei ist, der hier benutzte Code ist nur für Version 1.6.0.14

 

Ich benutze aber Version 1.6.1.6 und hierbei soll es schon zu Schwierigkeiten kommen.

 

Vielleicht findet sich ja jemand, der mit dieser Information etwas brauchbares basteln kann.

Link to comment
Share on other sites

  • 2 weeks later...

Hallo zusammen,

 

wenn noch Interesse besteht.

 

Hier die Lösung:

 

Öffnet: modules/blocklayered/blocklayered.php

 

Findet: (line ~1840)

$query_filters_where .= ' AND p.id_product IN (SELECT pa.`id_product`
FROM `'._DB_PREFIX_.'product_attribute_combination` pac
LEFT JOIN `'._DB_PREFIX_.'product_attribute` pa
ON (pa.`id_product_attribute` = pac.`id_product_attribute`)'.
Shop::addSqlAssociation('product_attribute', 'pa').'
WHERE '.implode(' OR ', $sub_query).') ';

Ersetzt ihr mit:

$query_filters_where .= ' AND p.id_product IN (SELECT pa.`id_product`
FROM `'._DB_PREFIX_.'product_attribute_combination` pac
LEFT JOIN `'._DB_PREFIX_.'product_attribute` pa
ON (pa.`id_product_attribute` = pac.`id_product_attribute`)'.
Shop::addSqlAssociation('product_attribute', 'pa').'
JOIN `'._DB_PREFIX_.'stock_available` sa
ON (sa.`id_product_attribute`=pac.`id_product_attribute` AND sa.`quantity`>0)
WHERE '.implode(' OR ', $sub_query).') ';

Hat bei mir geholfen.

 

Original Post: https://www.prestashop.com/forums/topic/447213-layered-navigation-block-module-dont-display-out-of-stock-products-for-choosen-attributes/

Link to comment
Share on other sites

  • 2 weeks later...

Das klingt toll! Danke.

Werde ich sicher mal ausprobieren.

 

Zwischenzeitlich hatte ich mir anders geholfen (und vielleicht als "Lösung" für alle die nicht in die Codes wollen):

 

Ich habe alle nicht verfügbaren einfach ans Ende der Kategorie gesetzt, per Sortierung.

 

D.h. wer in eine Shopkategorie gelangt und dort stöbern möchte, fängt bei den verfügbaren mit der größten Menge an und kommt dann irgendwann zu den nicht verfügbaren.

Somit ist schon mal verhindert, dass er z.B. gleich dutzende nicht verfügbare Artikel vor den Augen hat sondern mit den verfügbaren beginnt.

 

Also die nicht verfügbaren ans Ende und das geht so:

Voreinstellungen --> Artikel --> Anzeigeoptionen --> Standard Sortierung auf "Artikelmenge" und Standardsortierreihenfolge auf "absteigend" stellen.

Link to comment
Share on other sites

Zwischenzeitlich hatte ich mir anders geholfen (und vielleicht als "Lösung" für alle die nicht in die Codes wollen):

 

Ich habe alle nicht verfügbaren einfach ans Ende der Kategorie gesetzt, per Sortierung.

Hier ging's aber nicht um nicht verfügbare Einzelartikel, sondern um Kombinationen, von denen einzelne (z. B. Schuhgrößen) nicht mehr verfügbar sind, das würde bei deiner Lösung dazu führen, daß gerade die gefragtesten Kombinationsartikel (also die Schuhe, von denen erste Größen bereits ausverkauft sind) erst am Schluß angezeigt werden ...

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...