Personyze Wiki Personyze Wiki docs
Deutsch
Open Personyze
Docs/ Widgets und Add-ons/ Button „Schnell in den Warenkorb“ für das Empfehlungs-Widget
Widgets und Add-ons

Button „Schnell in den Warenkorb“ für das Empfehlungs-Widget

Die Codevorlage, mit der ein Klick auf „In den Warenkorb“ in einem Empfehlungs-Widget Produkte in den echten Warenkorb legt.

2 min read Updated 2 Stunden ago

Der folgende Code wird verwendet, um Produkte in den Warenkorb eines Besuchers zu legen, wenn er in einem Empfehlungs-Widget auf „In den Warenkorb“ klickt (manche Widgets bieten diese Funktion).

Wenn Sie dies richtig einrichten, können Sie die Funktion „Schnell in den Warenkorb“ nutzen, wenn Sie einem Besucher einen Artikel empfehlen: Er kann schnell und bequem ein oder mehrere Produkte in den Warenkorb legen, ohne die jeweiligen Produktseiten aufrufen zu müssen. Für Magento, Shopify usw. können Sie Ihren Account-Manager nach vorhandenen Vorlagen fragen, die mit dieser Funktion sofort funktionieren.

Bitte bearbeiten Sie diese Codevorlage in den Einstellungen für Produktinteraktionen Ihres Kontos:

Die Variable, die an die Funktion Ihrer Website übergeben wird, können Sie in den Widget-Einstellungen ändern

/** Dieser Code muss die Funktion „add_to_cart_for_personyze“ enthalten.
@param products – Array von Objekten, wobei jedes Objekt die Felder „internal_id“ und „quantity“ hat.
Personyze übergibt die „internal_id“, die im Produktkatalog steht.
@param arg – standardmäßig undefined, Sie können aber in den Einstellungen jeder einzelnen Aktion einen beliebigen Wert angeben.
@return {Promise} – Promise, das erfüllt wird, wenn der Vorgang abgeschlossen ist.
**/
function add_to_cart_for_personyze(products, arg)
{ // Wir möchten jedes dieser Produkte in einer eigenen Anfrage hinzufügen.
// Wenn die API Ihrer Website mehrere Produkte in einer Anfrage unterstützt, wird der folgende Code einfacher.
let all = []
for (let i=0; i<products.length; i++)
{ // Ersetzen Sie dies durch Ihre tatsächliche Anfrage.
all[i] = fetch
( ‚/cart/add‘,
{ mode: ‚cors‘,
credentials: ‚include‘,
method: ‚POST‘,
body: ‚product=’+products[i].internal_id+’&qty=’+products[i].quantity
}
).then
( response =>
{ if (!response.ok)
{ throw new Error(response.statusText)
}
return response.text()
}
)
}
// Fertig.
returnPromise.all(all)
// Oder, wenn Ihre Antwort den aktuellen Warenkorbzustand enthält, sollten Sie den Zustand in Personyze aktualisieren.
returnPromise.all(all).then
( responses =>
{ personyze.push([‚Products Removed from cart‘])
for (let response of responses)
{ response = JSON.parse(response) // oder nutzen Sie response.json() in fetch
for (let product of response.currently_in_cart)
{ personyze.push([‚Product Added to cart‘, product.id])
}
}
}
)
}
Did this page answer your question?
Thank you — that goes to whoever maintains this page.