ich verzweifel aktuell an meinem Shopware 6 Shop, bzw den Variantenartikeln.
Ich habe Artikel mit 10 Farbe: Unbeschichtet, Schwarz beschichtet, Weiß beschichtet…
Unbeschichtet kostet 50% weniger und wird am häufigsten bestellt. Sollte also die Vorauswahl sein wenn man in den Artikel geht und der Preis soll in der Kategorie angezeigt werden.
Das lässt sich im Artikel mit Hauptvariante einstellen, dann wird aber die Farbe in der Kategorie angezeigt. Das sieht dann so aus als gäb es den Artikel nur in dieser einen Farbe (andere Artikel in der Kategorie gibt es nur in einer Version)
Um das zu Umgehen könnte ich noch alle Varianten in der Kategorie einzeln anzeigen lassen. Dann würden aber aus 3 Artikel-Seiten in der Kategorie 20+. Kein Kunde blättert durch 20 Seiten um einen Artikel in der Kategorie zu finden.
Gibt es eine Möglichkeit in der Kategorie die Zeile im Artikel zur Hauptvariante (z.B. Farbe: Unbeschichtet) zu entfernen?
Oder kennt ihr andere Plugins mit denen man Varianten nutzbar machen kann?
das geht nicht und ist für eine Menge der SW User ein großes Ärgernis.
Aber du hast ja im anderen Thread bereits dafür gevotet
Hoffentlich bringts mal was
Ja, hatte gehofft dass jemand eine Idee hat wie man die Zeile aus den Artikeln in der Kategorie raus kriegt oder eine ähnliches Feigenblatt für die Varianten-Probleme hat.
Frage mich wie Shops mit wirklich vielen Varianten funktionieren sollen.
Hallo,
ist zwar keine saubere Lösung, aber man könnte aus der „box-standard.html.twig“ den Block „component_product_box_variant_characteristics“ ändern bzw. entfernen. Danach kann man unter Storefront-Darstellung → Produktliste → Einzelne Hauptvariante die entsprechende Variante auswählen und es werden die Varianten nicht angezeigt. Dies hat natürlich den Nachteil, dass man keine entsprechende Einstellung wählen kann und die Varianten dann nirgendwo in den Kategorien angezeigt wird.
Wie man allerdings statt des Warenkorb-Buttons den Detail-Button anzeigt habe ich leider noch nicht herausgefunden. Vielleicht hat dafür ja noch jemand einen Tipp?!
danke für die Antwort. Das würde heißen, wenn ich den Block entferne und eine Hauptvariante auswähle wird diese noch in der Kategorie angezeigt ohne die Zeile mit den Ausprägungen (zB Farbe: Blau)?
Nur die Möglichkeit alle Varianten des Artikels in der Kategorie einzeln anzeigen zu lassen geht dann nicht mehr?
Das wäre was ich suche. Wenn ich alle Varianten in der Kategorie sehen will leg ich einzelne Artikel an die ich dann einfacher anpassen kann.
Hallo stacomm,
wenn du den Block entfernst, wird die Variante unter dem Bild in der Kategorie nicht mehr angezeigt. Die Möglichkeit alle Varianten des Artikels anzeigen zu lassen hat damit nichts zu tun. Allerdings wird, wenn man den Block einfach entfernt auch hier der Text dann nicht mehr angezeigt. Evtl. könnte man hier eine if-Anweisung einbauen - bin aber leider kein Profi.
Wie gesagt. So keine 100% saubere Lösung. Es wird weiterhin der Button „In den Warenkorb“ statt „Details“ angezeigt. Dies zu ändern bekommt man durch einfaches ändern eines Templates leider nicht hin. Vielleicht hat ja noch jemand einen Tipp oder Idee dafür.
Ich glaube ich habe die Lösung gefunden, damit der Detail-Button ausgespielt wird, wenn es sich um eine Variante handelt - auch wenn die Variante als „Einzelne Hauptvariante“ ausgewählt wurde.
In der: /component/product/card/action.html.twig
Nach: {% set isAvailable = not product.isCloseout or (product.availableStock >= product.minPurchase) %}
Einfügen: {% set variant = product.parentId is not null %}
Ersetze: {% if isAvailable and not product.isGrouped and product.childCount <= 0 and product.calculatedPrices.count <= 1 %}
Mit: {% if isAvailable and not product.isGrouped and product.childCount <= 0 and product.calculatedPrices.count <= 1 and not variant %}
So kann man bei Varianten-Produkten den Hauptartikel festlegen und dennoch wird nicht der Warenkorb- sondern der Detail-Button angezeigt. Der Kunde sieht also besser, dass es Varianten gibt.
Am einfachsten setzt man die Änderung mit dem Plugin
um. So ist das ganze auch Updatesicher und recht einfach.
Wow, vielen Dank siebi für die Hilfe. Das wär genau die Lösung für das Problem.
Diese Woche wahrscheinlich noch mit Grundlegenden Einrichtungen (PayPal, Trustedshops…) und Lieferanten beschäftigt. Werd das danach in Angriff nehmen. Bisher noch nie etwas am Template geändert. Hatte in meinem letzten Shop (Angestellt) einen Programmierer der das für mich gemacht hat. Hoffe ich kriege das hin.
habe gerade den Vorschlag der Template-Änderung nachvolziehen wollen, aber in der Version 6.4 gibt es den Eintrag der geändert werden soll nicht mehr. Leider sind auch die „Details“ Button ganz verschwunden.
Falls jemand helfen kann - schon einmal vielen Dank
ich habe genau das gleiche Problem und habe mich eines Workarounds bedient. Ich dachte mir, ob man das entsprechende Vorauswahl Feld nicht einfach in der Anzeige ausblenden könnte und damit den Kunden auf die Produkt-Detailseite lockt.
Zunächst habe ich statt des Warenkorb-Buttons den „Details“-Button einblenden lassen (Backend → Einstellungen → Shop → Produkte → „Kaufen Buttons in Produktlistings anzeigen“ deaktivieren.
In der all.css (bei mir public\theme\dd00b5e55d9385abc991d6b0a6b2cc71\css\all.css) habe ich für alle „product-variant-characteristics“-Elemente den CSS Text komplett auskommentiert und stattdessen ein display:none hinzugefügt, also beispielsweise:
Hallo,
so, ich konnte mir das nun endlich anschauen.
Statt… {% if isAvailable and not product.isGrouped and product.childCount <= 0 and product.calculatedPrices.count <= 1 and not variant %}
… muss es nun…
{% if displayBuyButton and config('core.listing.allowBuyInListing') and not variant %}
@siebi Hi, ich habe die Lösung ausprobiert. Funktioniert auch wirklich super… aber nur, solange ALLE Varianten den identischen Preis haben. Wie kann man das aber erweitern, wenn die Varianten durch verschiedene Größen unterschiedliche Preise haben? Dann müsste bei Variantenartikeln entweder der Preis ausgeblendet werden sobald der Detail-Button erscheint - oder der Preis mit „ab xx“ eingesetzt werden.