在我正在處理的網站中,有一個部分,客戶可以對網站進行評分並獲得優惠券。Magento - 每個客戶端的限制表單提交
爲了防止他們多次投票,我怎麼能限制他們的提交只是一次?
我不希望使用cookies,因爲它們能夠被擦除,而是我在想的
Mage::getSingleton('customer/session')->getCustomer();
方法,我就可以建立某種變量來檢查,如果他已經或不投票。
任何建議讚賞。
在我正在處理的網站中,有一個部分,客戶可以對網站進行評分並獲得優惠券。Magento - 每個客戶端的限制表單提交
爲了防止他們多次投票,我怎麼能限制他們的提交只是一次?
我不希望使用cookies,因爲它們能夠被擦除,而是我在想的
Mage::getSingleton('customer/session')->getCustomer();
方法,我就可以建立某種變量來檢查,如果他已經或不投票。
任何建議讚賞。
And indeed only registered users can vote, I already show the message "You need to be registered to cast a vote"
然後您可以創建一個模塊的模型,並安裝SQL添加一個新的表(在這裏你可以保存客戶ID和優惠券給予客戶),如果他們投多票或改變他們的投票,你可以每次都給相同的優惠券。
此外,如果使用目錄規則生成優惠券,則可以將Uses per Customer
的數量限制爲1(客戶組也可以僅針對登錄用戶指定 - 取決於您擁有的組)。
根據您想要走多遠,您可以檢查客戶是否有以前的訂單或其他類似的東西(可能是結算/送貨地址),因爲創建多個賬戶的人都可以投票並獲得一個新優惠券。
我按照您的說法創建了模塊,但優惠券只是在實際商店中使用的圖片,而不是在網站中使用。謝謝你的幫助! – Phillip
在沒有cookie的情況下做這件事相當棘手。最明顯的選擇是使用IP地址,可能與用戶代理一起使用,但它有自己的一套挑戰。也許你應該讓註冊用戶投票,並檢查他們的個人資料,看他們是否被允許投票。 – Henrik
事實上,只有註冊用戶纔可以投票,我已經顯示消息「您需要註冊才能投票」。 – Phillip