ich bin auf der Suche nach einen Plugin mit den beiden folgende Funktionen:
Definition von Gratisartikeln bezogen auf bestimmte Produkte bzw Kategorien (Kaufe ein Artikek Kategorie A und Erhalte das Produkt Z gratis, Kaufe aus der Kategorie B und erhalte das Produkte Y gratis)
dieses Gratisprodukt sollte automatisch im Warenkorb landen und nicht erst durch den Kunden hinzufügt werden müssen
im Idealfall sind die Gratisartikel nur sichtbar wenn es auch einen entsprechenden Warenbestand gibt
Bisher habe ich meistens nur Plugins gefunden die die Regeln habe zu erstellen der Promotion aber halt nicht das der Artikel dann auch im Warenkorb landet.
Schaue dir mal im backend an: Marketing > Prämienartikel
Diese werden direkt unter dem Warenkorb (landen nicht automatisch in den Warenkorb!) angezeigt: der User muss im Warenkorb nur diesen Gratisartikel zusätzlich anklicken. Ich denke mal das von dem User dies nicht zuviel verlangt ist! Hier kannst du jedoch nur einen Mindestpreis auf Shopebene einstellen, nicht auf Artikel, Hersteller oder Kategorieebene.
Dann kommst du ohne irgendwelche zusätzlichen plugins aus.
Wenn du die Funktion Prämienartikel sonst gut findest und eventuell doch noch einschränken möchtest auf Artikel, Kategorie, Hersteller usw., dann mache einfach ein issue auf: https://issues.shopware.com/
den Punkt Pramienartikel kenne ich und nutze ich. Nur leider scheinen die Kunden das nicht zu sehen bzw. zu nutzen. Daher würde ich gerne schauen ob man mit dem automtauschen hinzufügen direkt im Warenkorb eine etwas höhre Conversation errreichen kann.
Es gibt verschiedene Plugins im Shop die aber alle nicht die Funktion des automatsichen hinzufügen in den Warenkorb haben.
hast du mittlerweile ein fähiges Plugin gefunden? Ich suche das momentan auch vergebens. Es gibt ein Plugin welches Artikel automatisch dem Warenkorb hinzufügt und auch auf Artikel eingeschränkt werden kann. Allerdings handelt es sich hierbei nur um Pseudoartikel und nicht um reale Artikel bei welchem Lagerbestand abgezogen wird. Genau das wäre aber wichtig da der Gratisartikel auf eine gewisse Menge begrenzt ist.
hierzu gibt es bereits ein Ticket für unser Promotion Plugin: Shopware Issuetracker
Man kann diese Funktion allerdings recht einfach an das Promotion Plugin anbauen:
namespace SwagFoo;
use Enlight_Hook_HookArgs as HookArgs;
use Shopware\Components\Plugin;
class SwagFoo extends Plugin
{
public static function getSubscribedEvents()
{
return [
'sBasket::sGetBasket::after' => ['afterGetBasket', 10],
];
}
public function afterGetBasket(HookArgs $args)
{
/** @var array $freeGoods */
$freeGoods = $this->container->get('template')->getTemplateVars('freeGoods');
if (count($freeGoods) === 1) {
// a promotion with exactly one free goods product
if ($this->isFreeGoodAlreadyInBasket($orderNumber, $promotionId)) {
return;
// do nothing, free good product is already in basket
}
// add product which is in the array to the cart
$this->container->get('swag_promotion.service.free_goods_service')->addArticleAsFreeGood($orderNumber, $promotionId);
// remove freeGood from the array
// assign freeGoods again to the template
}
}
}
Ist jetz nicht voll ausimplementiert, aber so oder ähnlich könnte die Lösung aussehen.