將購物車與CLIENT_ID
關聯將是解決此問題的最佳方法。不幸的是,AMP中尚不支持通過表單傳輸CLIENT_ID
。目前正在執行中,您可以通過issue查看當前狀態。
下面是一個現在可以工作的方法:這個方法是將購物車內容編碼成表單結果中返回的字符串。這樣我們就可以生成包含購物車內容的「查看購物車」和「結帳」鏈接。一旦用戶點擊其中一個鏈接,您可以在後端創建實際的購物車,並將用戶標識存儲在cookie中。
例如:
<form action-xhr="/add-to-cart" method="POST">
<input type="hidden" name="itemId" value="headphones-123">
<!-- Hide after form submit success -->
<input type="submit" name="add" value="Add to Cart">
<div submit-success>
<template type="amp-mustache">
<!-- shopping cart contents, e.g headphones-123 -->
{#shoppingCartContent}
<a href="/cart/view/{{shoppingCartContent}}">View In Cart</a>
<a href="/cart/checkout/{{shoppingCartContent}}">Checkout</a>
{/shoppingCartContent}
</template>
</div>
<div submit-error>
<template type="amp-mustache">
{{message}} <!-- e.g. Only 2 Headphones are left. -->
</template>
</div>
</form>
這種方法的缺點是用戶離開頁面時,先查看了購物車,購物車會丟失。一旦CLIENT_ID
可以通過放大器形式傳遞,這將被解決。
client_id如何解決它們從緩存頁面添加放大器的情況...然後進入我的頁面之外的功放...我不會有功放客戶端ID,對不對?或者我用功放client_id得到一個cookie? –
IE確定我可以將購物車與client_id關聯...但是當用戶訪問放大器之外的網站時...我如何知道他們的client_id? –