LÖSUNG: Artikel Lagerbestand 0, dann automatisch Button/Link AUF ANFRAGE

Hallo zusammen,

vermutlich habe ich nur falsch gesucht, denn ich kann mir nur schwer vorstellen, dass es hierfür noch nie Bedarf gab.

Aufgabe 1

Wenn ein Artikel abverkauft ist, also Lagerbestand 0 hat, muss anstatt des Warenkorb-Buttons ein Button oder Link mit “Auf Anfrage” zu einem Anfrageformular erscheinen.

Aufgabe 2 alternativ zu 1

Oder, wenn ein Artikel abverkauft ist, also Lagerbestand 0 hat, kann man ihn in den Warenkorb schieben. Im WK erscheint er als Anfrageartikel. Der Warenkorb kann als reiner Anfragewarenkorb abgearbeitet werden (dann eben ohne Zahlung über PayPal oder aonstwas). Gibt es im WK Anfrageartikel UND Bezahlartikel, werden die Bezahlartikel mit dem Zahlungslauf bezahlt und die Anfrageartikel mit der Bestellung “angefragt”.

Bemerkungen

Aufgabe 1 dürfte einfacher realisierbar sein, daher glaube ich, muss es dazu doch ein Plugin geben. Optimum wäre der Ansatz in Aufgabe 2, aber das muss nicht sein, sondern wäre nur benutzerfreundlicher.

Ich habe das Plugin “Preis auf Anfrage” von “Bul Hinsche GmbH” getestet. Leider muss man hier unabhängig eines Parameters wie Lagerbestand, jeden Artikel, den man “auf Anfrage” anbieten möchte, manuell in der Artikelverwaltung dementsprechend anhaken. Diese Lösung setzt leider voraus, dass ich Artikel habe, die ausschließlich auf Anfrage angeboten werden sollen. Im vorliegenden Fall ist das aber nicht so, sondern sobald ein Artikel durch den Shop-Verkauf auf 0 geht, muss der Button “In den Warenkorb” automatisch durch den Button/Link “Auf Anfrage” ausgewechselt werden.

Ziel ist es aber, Artikel mit Lagerbestand 0 nicht als “nicht verfügbar” von jeglichem Vertrieb auszuschließen. Vielmehr soll der Interessent immer noch die Möglichkeit haben, den Artikel anzufragen, indem bei Lagerbestand 0 der Button/Link zum Anfrageformular angezeigt wird und nicht “In den Warenkorb”.

Kann mir hier jemand helfen oder hat einen Plugin-Tipp dazu?

Vielen Dank, schöne Grüße

Hurga

 

Hallo,

im Prinzip müsste sich das mit diesem Plugin umsetzen lassen: http://store.shopware.com/digi178781848842/individuelle-schaltflaeche-auf-der-artikel-detailseite-auch-statt-der-in-den-warenkorb-schaltflaeche.html . Als einziges fehlt bei dem Plugin noch eine Option, dass die Schaltfläche (auch) nur dann erscheint, wenn Abverkauf aktiviert ist und der Bestand gleich 0 ist (entweder global oder je Artikel). Aber das kannst du sicher beim Hersteller erfragen, ob er dies noch nachrüstet. Alternativ könnte man natürlich auch einen CronJob bei sich implementieren, der bei den Artikeln oder Artikelvarianten automatisch den Haken bei auf Anfrage setzt, wenn der Bestand 0 ist und Abverkauf aktiviert ist, somit würde es dann auch so funktionieren, ohne das eine Anpassung nötig wäre.

Beste Grüße

Sebastian

1 Like

Hallo Sebastian und alle, die es interessiert,

DAnke für die Rückmeldung. Tatsächlich ist es richtig, dass es einen individuelle Anfragebutton geben muss. Wir haben uns für Alternative 1 entschieden, da wir feststellten, dass das Plugin “Preis auf Anfrage” der “Bul Hinsche GmbH” unseren Anforderungen hier schon recht nahe kommt.

Das Plugin “Preis auf Anfrage” macht Folgendes:

  • im Artikel hakt man “Preis auf Anfrage” manuell an
  • fortan wird bei dem Artikel kein Warenkorbbutton, sondern der Button “Preis auf Anfrage” angezeigt, wo bei Klick ein Dialog mit Anfrageformular erscheint
  • wohlgemerkt, muss man hier jeden Artikel, egal ob auf Lager oder nicht, im Stamm manuell markieren

Was wir aber brauchen ist:

  • Artikellagerbestand sinkt durch einen Verkauf auf 0
  • ab dann wird beim Artikel automatisch der Button “Preis auf Anfrage” angezeigt und nicht mehr der Warenkorbbutton

Hier die Lösung

  • “Preis auf Anfrage” fragt das Häkchen “Preis auf Anfrage” in den Artikeldaten ab
  • wir haben in den zugehörigen TPL-Dateien des Themes (Bare mit Child Responsive) sowie in einer TPL-Datei des Plugins “Preis auf Anfrage” die If-Else-Klausel umgeschrieben, so dass der Lagerbestand des Artikels für die Anzeige des richtigen Buttons ausschlaggebend ist
  • da die Klausel nur zieht, wenn beim Artikel “Preis auf Anfrage” angehakt ist, haben wir auch gleich im Backend-JS von “Preis auf Anfrage” den Initialstatus der Checkbox auf “checked: true” gesetzt
  • Hinweis: Im Artikel selbst darf das Häkchen bei “Abverkauf - Artikel bei Bestand <= 0 nicht bestellbar”  nicht  gesetzt sein, da dies unsere Lösung überschreibt.

Was wir damit erreichen

Wir wollten, dass der Artikel erst dann auf “Auf Anfrage” stehen, wenn er nicht mehr vorhanden ist. Das muss automatisch geschehen, weil die Überwachung ansonsten unmöglich wäre und der Aufwand, die Artikel manuell auf “Auf Anfrage” zu stellen viel zu hoch.

Das haben wir erreicht und sind damit zufrieden.

Änderungen in den Dateien

Datei: /shopware/engine/Shopware/Plugins/Community/Frontend/SwpPriceonRequest/Views/frontend/product_box/product-price.tpl

Original

    {if $sArticle.swp_priceonrequest eq “1”}
Ändern auf

    {if $sArticle.instock <= 0}

=============================================
Datei: /shopware/engine/Shopware/Plugins/Community/Frontend/SwpPriceonRequest/Views/frontend/product_box/ajax-product-price.tpl

Original

 {if $sArticle.swp_priceonrequest = “1”}

Ändern auf

 {if $sArticle.instock <= 0}

=============================================

Datei: /shopware/engine/Shopware/Plugins/Community/Frontend/SwpPriceonRequest/Views/frontend/detail/data-priceonrequest.tpl

Block: frontend_detail_buy_button

{block name=“frontend_detail_buy_button”}
     {if $sArticle.instock  <= 0}
                    data-ordernumber="{$sArticle.ordernumber}"
            data-articlename="{$sArticle.articleName}"
            data-url="{url controller=‘forms’ action=‘index’ sFid=$sArticle.priceform.priceonrequest}"           
            >
            {s namespace=“frontend/swp_price_on_request/main” name=“PriceonRequest”}{/s}
           
       
    {else}
        {if $sArticle.sConfigurator && !$activeConfiguratorSelection}
           

In den Warenkorb


        {else}
           

In den Warenkorb


        {/if}
    {/if}
{/block}

=============================================

Datei: /shopware/engine/Shopware/Plugins/Community/Frontend/SwpPriceonRequest/Views/backend/swp_price_on_request/SwpPriceOnRequest.FieldHandler.js

case ‘swp_priceonrequest’:
                me.leftSwpPriceOnRequest.add(
                    Ext.apply(field, {
                        xtype: ‘checkbox’,
                        name: ‘__attribute_swp_priceonrequest’,
                        labelWidth: 155,
                        inputValue: 1,
                        uncheckedValue: 0,
                        checked: true, // AENDERUNG / ERGAENZUNG
                        listeners: {
                            change: function(field,newValue) {
                                if (newValue == true) {
                                    field.up(‘fieldset’).down(’[name=__attribute_swp_individualpriceonrequest]’).setValue(0);
                                }
                            }                                
                        }
                    })
                );
                break;

Hallo,

ich glaube, eine nicht updatesichere Änderung direkt in einem gekauften Plugin kann man nicht wirklich als brauchbare Lösung bezeichnen, da die „Lösung“ beim nächsten Pluginupdate automatisch wieder überschrieben wird. Das oben genannte Plugin ( http://store.shopware.com/digi178781848842/individuelle-schaltflaeche-auf-der-artikel-detailseite-auch-statt-der-in-den-warenkorb-schaltflaeche.html ) dürfte sogar deine Wünsche komplett umsetzen, ohne das man eine nicht updatesichere Änderung im Plugin vornehmen müsste.

Beste Grüße 

Sebastian