Bestellmöglichkeit ausschalten

Moin,
ich bin auf der Suche nach der Möglichkeit, die Bestellmöglichkeit in gesamten Shop auszuschalten.

Die Seiten sollen online bleiben. Es soll nur die Bestellung nicht möglich sein.

Ich habe ein paar ältere Topics gefunden. Die Lösungen sind für mich nicht praktikabel (über den Warenbestand regeln oder die Zahlweisen rausnehmen).

Grüße
Markus

Moin auch,

warum sind alle bisher genannten Lösungen unpraktikabel?
Du hast scheinbar eine eindeutige Vorstellung davon, wie der Shop ohne Bestellfunktion aussehen müsste, wie sieht diese Vorstellung aus?

Die Überlegung ist mir in den letzten Wochen gekommen. Was ist, wenn wir zeitweilig nicht arbeiten können? Z.B. aus gesundheitlichen Gründen? Oder es sogar eine gesetzliche Auflage gibt!

Den kompletten Shop offline zu stellen, wäre natürlich keine Lösung.

Die Lösung sollte so aussehen, dass der Shop weiterhin besucht werden kann, aber nicht gekauft werden kann. Und der Kunde soll natürlich nicht erst im Bestellvorgang darüber informiert werden (indem man die Zahlweisen deaktiviert).

Es müßte die Option geben, die “in den Warenkorb” Funktion für eine definierte Zeit abzustellen. Statt des Warenkorb Buttons könnte dort eine relevante Information stehen: z.B. Wir haben Urlaub, ab 12.05. kannst du hier wieder bestellen.
Mich wundert, dass so etwas noch nie jemand gebraucht hat. Was ist bei Urlaub, Krankheit? Oder von mir aus religiöse Shopbetreiber, die Karfreitag nicht verkaufen wollen.
Oder dass man den Verkauf für eine Zeit “als Statement” deaktiviert.

Was auch immer der Grund sein könnte. Bei so vielen Oxid Shops wundert mich, dass dies nie ein Thema war.

PS: war es bei mir in den vielen Jahren auch nicht.

Grüße
Markus

Solch eine Funktion habe ich in der Tat noch nicht gesehen, wäre auch recht kompliziert dies umzusetzen (z. B wegen externen express Checkouts).

Ich habe aber schon einige ähnliche Fälle gesehen, allerdings haben sich alle betroffen Shobetreiber bewusst gegen eine solche Abschaltung der Bestellfunkion entschieden, da es dem Sinn eines Shops irgendwie widersprechen würde und man den Kunden nicht abschrecken wollte.
Es wurde einfach auf die eine oder andere Weise ein Text an einer prominenten Stelle eingeblendet, dass alle Bestellungen erst ab dem Datum X bearbeitet werden.
Die Lieferzeiten könnte man global angeben, meine ich.

Hallo Markus,

also eine “hit one button” Lösung fällt mir da jetzt auch nicht ein, aber wenn ich das machen müsste, würde ich es nach diesem Gedankenspiel angehen.

  1. Da ich davon ausgehe, dass Du das dynamisch ein- und ausschalten möchtest würde ich zunächst eine Option im Admin oder in der config.inc.php einbauen.
  2. Alle “In den Warenkorb” - Buttons raussuchen (Listenansicht, Detailansicht, … ) und anhand der Konfigurations-Option im Template entscheiden, ob es den Button oder einen kurzen Text gibt.
  3. Um die spitzfindigen Kollegen oder die, von vanilla_thunder angesprochenen, externen Express-Checkouts abzufangen würde ich dann noch auf eine der schon erwähnten Warenkorb Mechanismen zurück greifen.
  4. eigentlich 3a Alternativ könnte man sich die Arbeit machen und alle Warenkorbschritte so im Controller anpassen, dass sie z.B. auf eine CMS-Seite umleiten, die dann den Sachverhalt für den Kunden nochmal erläutert.

Viele Grüße,
Thorsten

Hallo Markus,
quick-n-dirty könntest Du einen Satz CSS-Regeln anlegen, die alle Bestell-Buttons sowie den Warenkorb ausblenden.
Eine andere Variante wäre über eine angepasste
/core/smarty/plugins/block.oxhasrights.php
z.B. so in der Art:

if ($params['ident'] == 'TOBASKET' && $blIsUser && $oUser->inGroup('oxiddealer')) {
    return $content;
} 
if ($params['ident'] == 'SHOWARTICLEPRICE' && $blIsUser && $oUser->inGroup('oxiddealer')) {
    return $content;
}

switch ($params['ident']) {
        case 'SHOWARTICLEPRICE': 
    case 'TOBASKET':
        return '';
    default:
        return $content;
        
} 

Dann kannst Du einfach im Backend eine Gruppe “nicht kaufen” oder so anlegen, der Du dann immer alle Kunden temporär zuweist (dabei die “noch nichts gekauften” Kunden nicht vergessen!).

Damit ist das ein- und ausschalten der Bestellmöglichkeit ganz easy :slight_smile:

Superspannendes Thema. Ich denke da sofort (noch ein Use-Case) an die beiden Getränkelieferanten, die innerhalb eines bestimmten Zeitraumes (120 mins) zwischen 09:00 und 23:00 Uhr ausliefern. Im Shop kann man dann ab 21:00 Uhr nicht mehr einkaufen, jedoch soll der Katalogbereich weiterhin für die Suchmaschinen und zur Kundeninformation zur Verfügung stehen.

1 Like

Moin,

mhh, also so was fundamentales via CSS ausblenden finde ich nicht so gut. Wenn ein findiger User bestellen will, kann er das dann trotzdem. Und wenn er das schafft, bist Du erstmal in der Pflicht auch zu liefern. Ich denke, dass es daher auf jeden Fall notwendig ist, den User funktional daran zu hindern die Bestellung abzuschließen…

Just my 10ct,
Thorsten

klar, aber wenns schnell gehen muss & evtl nicht so viel Erfahrung da ist, könnte auch die CSS Variante interessant sein. Und ansonsten ist block.oxhasrights.php ein auch nicht viel langsamerer Weg :wink: