Guten Tag,
ist es möglich einen Gratisartikel anzubieten? Dieser soll automatisch jeder Bestellung hinzugefügt werden, ohne Berechnung.
Könnte man natürlich auch einfach mit in das Paket legen, aber er soll halt im Warenkorb mit erscheinen, um das entsprechend zu kommunizieren.
Geht das??
Gratisartikel
- supportteam2
- Beiträge: 427
- Registriert: 4. Mär 2015, 14:05
Re: Gratisartikel
Hallo,
das ist mit Hooks möglich. Der passende Hook heißt "initializeCartController". Im Handbuch gibt es dazu sogar einen Beispielcode, der etwas vergleichbares macht.
Siehe Handbuch: http://www.merconis.com/tl_files/Eigene ... /Hooks.htm und dort eben nach "initializeCartController" suchen.
das ist mit Hooks möglich. Der passende Hook heißt "initializeCartController". Im Handbuch gibt es dazu sogar einen Beispielcode, der etwas vergleichbares macht.
Siehe Handbuch: http://www.merconis.com/tl_files/Eigene ... /Hooks.htm und dort eben nach "initializeCartController" suchen.
Ihr MERCONIS-Supportteam
Your MERCONIS Support Team
Your MERCONIS Support Team
Re: Gratisartikel
Hallo,
vielen Dank für den Hinweis. Ich verstehe allerdings noch nicht so ganz, wo ich das einbinde und wie dann die ID(s) der Produkte (oder Broschüren in diesem Fall) übergeben werden!? Muß ich dafür eine eigene Erweiterung erstellen?
MfG
vielen Dank für den Hinweis. Ich verstehe allerdings noch nicht so ganz, wo ich das einbinde und wie dann die ID(s) der Produkte (oder Broschüren in diesem Fall) übergeben werden!? Muß ich dafür eine eigene Erweiterung erstellen?
MfG
- supportteam2
- Beiträge: 427
- Registriert: 4. Mär 2015, 14:05
Re: Gratisartikel
Ja, Merconis-Hooks werden so verwendet, wie gewöhnliche Contao-Hooks auch. Sie erstellen also eine einfache Extension, die in der config.php die Hooks registriert und in einer von Ihnen speziell dafür erstellten Klasse die über die Hooks aufzurufenden Funktionen bereitstellt. Diese Sache setzt also grundlegende PHP-Kenntnisse voraus.
Haben Sie den Beispielcode zum Hook "initializeCartController" im Merconis-Handbuch weitestgehend verstanden? In diesem Beispiel geht es darum, zu den Produkten im Warenkorb (die der Kunde dort manuell reingelegt hat) passende Broschüren ebenfalls in den Warenkorb zu legen. Hierzu werden den Produkten in den FlexContent-Feldern Artikelnummern der Gratis-Broschüren hinterlegt, die dann in der vom Hook aufgerufenen Funktion ausgelesen werden. Mit einem Datenbankrequest wird für jede Broschüren-Artikelnummer die Produkt-ID der Broschüre ausgelesen, da diese benötigt wird, um das Produkt im nächsten Schritt dem Warenkorb hinzuzufügen.
Ihr Anwendungsfall ist hier sicher ein wenig anders. Vielleicht möchten Sie immer das selbe Gratisprodukt in den Warenkorb legen oder sie legen unterschiedliche Gratisprodukte in den Warenkorb je nach Warenwert oder, oder... Sie können Sich hier jede beliebige Logik ausdenken, mit der Sie auf die Produkt-IDs kommen, die Sie dem Warenkorb hinzufügen möchten. Wenn Sie hier zukünftig nur sehr selten Änderungen erwarten, könnten Sie die Produkt-ID(s) theoretisch auch auf die schnelle, wenn auch nicht ganz perfekte Art, fest in Ihre Hook-Funktion eintragen.
Der für Sie wirklich wichtige Teil des Beispielcodes ist diese Zeile:
So wird ein Produkt, dessen ID Sie irgendwie ermittelt haben, mit der Menge 1 in den Warenkorb gelegt.
Haben Sie den Beispielcode zum Hook "initializeCartController" im Merconis-Handbuch weitestgehend verstanden? In diesem Beispiel geht es darum, zu den Produkten im Warenkorb (die der Kunde dort manuell reingelegt hat) passende Broschüren ebenfalls in den Warenkorb zu legen. Hierzu werden den Produkten in den FlexContent-Feldern Artikelnummern der Gratis-Broschüren hinterlegt, die dann in der vom Hook aufgerufenen Funktion ausgelesen werden. Mit einem Datenbankrequest wird für jede Broschüren-Artikelnummer die Produkt-ID der Broschüre ausgelesen, da diese benötigt wird, um das Produkt im nächsten Schritt dem Warenkorb hinzuzufügen.
Ihr Anwendungsfall ist hier sicher ein wenig anders. Vielleicht möchten Sie immer das selbe Gratisprodukt in den Warenkorb legen oder sie legen unterschiedliche Gratisprodukte in den Warenkorb je nach Warenwert oder, oder... Sie können Sich hier jede beliebige Logik ausdenken, mit der Sie auf die Produkt-IDs kommen, die Sie dem Warenkorb hinzufügen möchten. Wenn Sie hier zukünftig nur sehr selten Änderungen erwarten, könnten Sie die Produkt-ID(s) theoretisch auch auf die schnelle, wenn auch nicht ganz perfekte Art, fest in Ihre Hook-Funktion eintragen.
Der für Sie wirklich wichtige Teil des Beispielcodes ist diese Zeile:
Code: Alles auswählen
$this->ls_shop_cartController->addToCart($brochureID, 1);
Ihr MERCONIS-Supportteam
Your MERCONIS Support Team
Your MERCONIS Support Team