Anzeige von individuellen Kundenpreisen in Clerk.io auf anderen / eigenen Plattformen
Platforms:
Wenn Sie völlig eindeutige Preise anzeigen müssen, die davon abhängen, welcher Kunde eingeloggt ist, müssen Sie ein Ereignis in Clerk.io einrichten, das den richtigen Preis einfügt, bevor die Produkte gerendert werden.
Events sind Javascript-Funktionen, die vor oder nach Clerk.io ausgeführt werden, um Produkte anzuzeigen.
Diese Methode ist möglich, wenn Sie Preise von Ihrem Server, direkt von einer Javascript-Funktion, im Frontend basierend auf einer Produkt-ID und einer Kunden-ID nachschlagen können.
Um die Preise einzelner Kunden anzuzeigen, sollte der Code direkt nach der Antwort laufen.
Allgemeines Beispiel
<span class="clerk" data-template="@home-page-popular"></span>
<script>
Clerk('on', 'response', function(content, data) {
console.log(data.result);
});
</script>
Die Funktion nimmt das Argument data an, das die gesamte Antwort ist, die Clerk.io von der API zurücksendet.
Beispiel für individuelle Kundenpreise
Der wichtigste Teil der Antwort ist product_data, der alle Attribute der Produkte enthält, die Clerk.io zurückschickt:
Diese Daten können manipuliert werden, so dass Standardpreise vor dem Rendern durch kundenspezifische Preise ersetzt werden können.
Ein einfaches Beispiel, wie das geht, ist hier zu sehen:
<span class="clerk" data-template="@home-page-popular"></span>
<script>
var customer_id = INSERT_CUSTOMER_ID;
Clerk('on', 'response', function(content, data) {
console.log(data.product_data)
for (i = 0; i < data.product_data.length; i++) {
var product = data.product_data[i];
var custom_price = FETCH_PRICE_FROM_SERVER(product.id,customer_id);
product.price = custom_price;
}
});
</script>
Im Code müssen Sie 2 Dinge ersetzen:
INSERT_CUSTOMER_ID sollte durch einen Code ersetzt werden, der die ID des aktuell eingeloggten Kunden einfügt.
FETCH_PRICE_FROM_SERVER sollte durch eine Javascript-Ajaxfunktion ersetzt werden, die die Produkt-ID und eine Kunden-ID verwendet, um den richtigen Preis zu finden.
Der Preis wird dann dem Clerk.io Attribut Preis zugewiesen, das in Ihrem Design wie folgt angezeigt werden kann:
{% raw %} {{ price }} {% endraw %}
Mit dieser Methode können Sie völlig individuelle Preise anzeigen, ohne auf unsere benutzerfreundliche Javascript-Lösung verzichten zu müssen.