Magento - 限制每个客户的表单提交

Magento - Limit form submission per client

在我正在处理的网站中,有一个部分可供客户对网站进行评分并获得优惠券。

为了防止他们多次投票,我怎么能限制他们只投一次呢?

我不想使用 cookie,因为它们可以被删除,但我在考虑

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 以添加一个新的 table(您可以在其中保存授予该客户的客户 ID 和优惠券),如果他们投了多票或更改他们的投票,每次都可以给同一张优惠券

此外,如果优惠券是使用目录规则生成的,那么您可以将 Uses per Customer 的数量限制为 1(也可以仅为登录用户指定客户组 - 取决于您拥有的组).

根据你想走多远,你可以检查客户是否有以前的订单,或其他类似的东西(可能是 billing/shipping 地址),因为创建多个帐户的任何人都可以投票并获得一张新优惠券。