특정 제품에 대한 전역 주문 제한을 구현하고 싶습니다. 요점은 특정 제품에 백 오더를 사용할 수있게하고 주문할 수있는 개별 제품의 수에 제한이있는 여러 기간을 정의하고자합니다. 그들은 이러한 이벤트에 $product->setMyModel(...)
로로드 할 때Magento - 맞춤 기준에 따라 주문 제한 구현
는 현재 내 사용자 정의 모델은 제품 모델에 선택한 날짜 기간 동안 관련 정보와 함께로드 부착 :
catalog_product_load_after
catalog_product_collection_load_after
sales_quote_item_collection_products_after_load
특정 제품의 데이터로 내 모델에 액세스하는 것은 simp 르 전화로 $product->getMyModel()
, 따라서 나는 간단하게 내 모델로 참조됩니다. 제품이 장바구니/견적에 추가하거나 순서로 배치 될 때마다
1., 나는이 (의사) 같은 것을하고 싶지 :
이
는 내가하고 싶은 것입니다 :1.1. 여기 Mage_CatalogInventory_Item::checkQuoteItemQty()
을 오버라이드하여 $requestedQty
을 캡처해야한다고 생각합니다.
2. 업데이트 $myModel::ordered_qty
주문이 취소되거나 환불되는 경우.
나는이 코드를 어디에서 실행해야 할 것인가? 그리고 그러한 주문 제한을 구현하고 수량보다 많은 것을 추적하는 데 더 많은 것이 있습니까?
제게 이것은 상당히 복잡한 작업처럼 보입니다. 그래서 저는 경험이 풍부한 Magento 개발자의 도움이 필요합니다!
참고 : 나는 번호 목록 및 코드 블록을 혼합하는 방법을 알아낼을 couldnt하지만 나는 그것의 읽을 희망 충분히
sales_quote_save_before에 대한 옵저버를 개발하고 세션의 addError 메시지를 통해 개발하려고하면 자동으로 역으로 역할을 수행합니다. – ShaunOReilly
필자가 해본 테스트는'Mage_CatalogInventory_Item :: checkQty()'를 무시하여 수량을 확인하는 것이 잘 작동 함을 보여줍니다. 나는 무엇인가 내려다보고 있을지도 모른다.어쨌든, 나는 언제나 그리고 어떻게 내 모델'ordered_items'에서 덧셈/뺄셈을하는 것이 적절한 지 모른다 - 관리자가 수량을 업데이트 할 때와 같이 특정 조건에서만 이것을하고 싶다는 것을주의하라. 게시물) – Vitamin