2012-01-26 5 views
2

magento에는 사용자가 체크 아웃하기 전에 50 씩 증가하는 제품을 갖도록 강제하는 방법이 있습니까? 나는 그들이 계산하기 전에 50이 필요하다는 것을 알아 냈습니다. 그러나 누군가가 51을 주문하는 것을 막지는 못합니다. 나는 성냥을 파는 것으로 각 제품을 자신의 향수로 설정 했으므로 하나의 제품 4 개와 57 개를 주문할 수있었습니다. 다른 사람은 50 점 만점으로 체크 아웃해야합니다. 따라서 기술적으로 20 개의 빨간 경기, 30 개의 녹색 경기, 25 개의 흰색 경기 및 25 개의 검은 색 경기를 가질 수 있습니다. 어떤 도움이라도 대단히 감사하겠습니다.체크 아웃 전에 Magento가 증가합니다

답변

0

그렇다면 총 카트 항목이 50으로 나눌 수 있는지 확인하는 것이 좋습니다. 해결책은 AJAX 카트 또는 전통적인 POST 카트가 있는지에 따라 다릅니다. 나는 당신에게 후자가 있다고 가정합니다. 체크 아웃 확인 페이지에서

,이 같은 검사를 추가 할 것입니다 :

<?php 
    // /app/code/core/Mage/Checkout/controllers/CartController.php 
    $cart   = Mage::helper('checkout/cart')->getCart(); 
    $cartItemsCount = $cart->getQuote()->getItemsSummaryQty(); 

    if($cartItemsCount % 50 !== 0) { 
     // Redirect and show error message 
     $this->_getSession()->addError('Custom cart rule does not allow this'); 
     $this->_goBack(); 
    } 
?> 

참고 : 핵심 편집을 할 수있는 가장 좋은 방법은 자신의 모듈로 파일을 확장하는 것이다.

프론트 엔드 유효성 확인도 가능하지만 바보가 아닙니다. 까다로운 사용자는이 유효성 검사를 수행 할 수 있습니다.

은 수량 입력이 HTML5 number input 수있을 수, 사용자가 쉽게 물건을 확인한 다음 50

의 블록 단계 속성의 증가가 분명히 여기에 점을 연결해야합니다 및 작업을 수행하려면 약간의 일을하지만, 이것으로 시작하게됩니다. 건배.

0

참고로, Magento의 "Magento로 전자 상거래 프로그래밍 안내서"에 대한 PHP Architect의 책은 이런 종류의 일을하는 맞춤 모듈을 검토합니다. 체크 아웃 할만한 가치가 있을지도 몰라.