2015-04-15 43 views
0

在我正在處理的網站中,有一個部分,客戶可以對網站進行評分並獲得優惠券。Magento - 每個客戶端的限制表單提交

爲了防止他們多次投票,我怎麼能限制他們的提交只是一次?

我不希望使用cookies,因爲它們能夠被擦除,而是我在想的

Mage::getSingleton('customer/session')->getCustomer(); 

方法,我就可以建立某種變量來檢查,如果他已經或不投票。

任何建議讚賞。

+0

在沒有cookie的情況下做這件事相當棘手。最明顯的選擇是使用IP地址,可能與用戶代理一起使用,但它有自己的一套挑戰。也許你應該讓註冊用戶投票,並檢查他們的個人資料,看他們是否被允許投票。 – Henrik

+0

事實上,只有註冊用戶纔可以投票,我已經顯示消息「您需要註冊才能投票」。 – Phillip

回答

2

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(客戶組也可以僅針對登錄用戶指定 - 取決於您擁有的組)。

根據您想要走多遠,您可以檢查客戶是否有以前的訂單或其他類似的東西(可能是結算/送貨地址),因爲創建多個賬戶的人都可以投票並獲得一個新優惠券。

+0

我按照您的說法創建了模塊,但優惠券只是在實際商店中使用的圖片,而不是在網站中使用。謝謝你的幫助! – Phillip

相關問題