Produkte aus allen Auflistungen rausnehmen

Hallo *,

wir möchten bestimmte Produkten (Lieferzeit >= 120 Tage) aus allen Produktlisten (Kategorien, Cross-Selling, Product Streams, zufällige Artikeln, noch was?) rausnehmen, aber die Detailseiten müssen da bleiben (SEO). Während für die Kategorie soll das kein großes Problem darstellen, der Rest sehe ich kompliziert… 

Ist das überhaupt mit überschaubarem Aufwand machbar? Was wären die möglichen Lösungsansätze?

Vielen Dank im Vorab.

MfG
Roman

Ich denke das wird wohl nur über ein Plugin lösbar sein. Aktuell bastel ich an einem ähnlichen Plugin, weil mit normalen Mitteln sich das nicht so sauber umsetzen lässt.

Für Produkt Streams kann man ein Attribut bei den Artikeln haben, anhand dessen sie aus dem Stream rausgefiltert werden können.

@R4M schrieb:

Ich denke das wird wohl nur über ein Plugin lösbar sein. Aktuell bastel ich an einem ähnlichen Plugin, weil mit normalen Mitteln sich das nicht so sauber umsetzen lässt.

Hast du irgendwelche nutzliche Hooks beim Cross-Selling gefunden, wo man an der Artikelauswahl etwas ändern kann?

Aktuell habe ich das hier noch übers Template gelöst. Da werden dann die bestreffenden Artikel heraus gefiltert. Also hier ganz ohne Hooks.

@R4M schrieb:

Aktuell habe ich das hier noch übers Template gelöst. Da werden dann die bestreffenden Artikel heraus gefiltert. Also hier ganz ohne Hooks.

Gibt es Templates für Cross-Selling? 

Oder auch für Product Streams?

In meinem Falle benutze ich die “product_slider_items.tpl” Ob die jetzt überall greift, kann ich so jetzt gar nicht sagen. In den naormalen Streams geht es aber bisher.

1 „Gefällt mir“

Anscheinend könnte auch alles, was “frontend/listing/box_article.tpl” als Include hat könnte angepasst werden. Das sind:

10:19:27 c-1213 ~/myshop/htdocs/themes/Frontend/Bare/frontend/listing $ grep -rnw '.' -e 'box_article.tpl'
./customer_stream/listing.tpl:55: {include file="frontend/listing/box_article.tpl"}
./box_similar.tpl:1:{extends file="frontend/listing/box_article.tpl"}
./listing_ajax.tpl:4: {include file="frontend/listing/box_article.tpl"}
./box_blog.tpl:1:{extends file="frontend/listing/box_article.tpl"}
./listing.tpl:89: {include file="frontend/listing/box_article.tpl"}
./manufacturer.tpl:49: {include file="frontend/listing/box_article.tpl"}

 

Ich habe schließlich frontend/listing/product-box/box-basic.tpl und frontend/listing/box-emotion.tpl angepasset, sodass der Box für die Artikeln gar nicht ausgegeben wird. Nach kurzem durchschauen scheint das, das gewünschte liefern zu können. Ich denke, Alles, was die Produkkästchen ausgibt, eines der 2 im Endeffekt verwendet.

Alles andere in frontend/listing/ ist nicht direkt relevant. 

product_slider_items.tpl ist auch nur indirekt relevant und verwendet im Endeffekt ebenfalls die tpls aus frontend/listing/product-box/.

Eigenltich musste ich noch /frontend/_includes/product_slider_items.tpl anpassen, ansonsten hatte ich leere Kästchen in Product Sliders statt der Artikel.

Die Lösung macht anscheinend ein wichtiges Problem. Die Kategorie-Listings werden vom Controller zwar für eine bestimmte Anzahl Produkten geplannt, aber die tatsächliche Anzahl an Produkten ist weniger. Mit Paginierung ergibt das, dass man nicht z.B. 20 Produkte auf der Seite sehen kann, wie das in Einstellungen steht, sondern 10. Oder 13. Oder 5. Je nachdem. Das wäre nicht so problematisch, wenn man Infinite Scrolling anschalten würde, aber dann geht SEO-Ranking kaputt.

Gibt es vllt. ein gutes Event, das ich Subscriben kann? Hier finden ich keine: shopware/Listing.php at 5.6 · shopware/shopware · GitHub

Erstell dir eine neue Condition + ConditionHandler und füg sie zu jeder Criteria ein.

Dieses Thema wird ebenfalls in der Shopware 5 Advanced Schulung behandelt. Du könntest dir in der academy anschauen

@Shyim schrieb:

Erstell dir eine neue Condition + ConditionHandler und füg sie zu jeder Criteria ein.

Dieses Thema wird ebenfalls in der Shopware 5 Advanced Schulung behandelt. Du könntest dir in der academy anschauen

Meinst du diesen Course? https://academy.shopware.com/courses/developer-training-advanced-english