ユーザーがショッピングカートに商品を追加したら、その特定のユーザーが特定のセッション中にそれ以上買い物をすることを制限したいと思います。ユーザーがチェックアウトしてWebサイトに再度アクセスした場合、ユーザーは再度買い物をすることができるはずですが、上記のルールを考慮する必要があります。
この機能はMagentoで利用できますか?誰かがこれに対する解決策を提供できますか?
ユーザーがショッピングカートに商品を追加したら、その特定のユーザーが特定のセッション中にそれ以上買い物をすることを制限したいと思います。ユーザーがチェックアウトしてWebサイトに再度アクセスした場合、ユーザーは再度買い物をすることができるはずですが、上記のルールを考慮する必要があります。
この機能はMagentoで利用できますか?誰かがこれに対する解決策を提供できますか?
もちろんこれは可能です!イベントのオブザーバーを構成controller_action_predispatch
し、セッションから見積もりオブジェクトを取得します。アイテムが含まれている場合は、オブザーバーメソッドでリダイレクトを設定し、カートにリダイレクトします。例(テストされていません):
public function restrictToCheckout(Varien_Event_Observer $observer)
{
$items = Mage::getSingleton('checkout/session')->getQuote()->getItemsCount();
if ($items) {
$observer->getControllerAction()->getResponse()
->setRedirect(Mage::getUrl('checkout/cart'));
Mage::throwException('You have items in your cart and must checkout'));
}
}
ニュアンスがあるかもしれませんが、これがその本質です。