2011-03-27 5 views
0

Magento의 모든 고객의 장바구니 품목 (장바구니에 추가 된 제품)을 모두 삭제하고 싶습니다.Magento의 모든 고객의 장바구니 항목을 모두 삭제하는 방법은 무엇입니까?

어떻게하면됩니까? 상세

: -

가정하자, 나는 내 가게에 총 10 등록 고객 수 있습니다. 그들은 장바구니에 항목 (제품)을 추가 할 수 있습니다. 10 명의 등록 고객 모두에게 카트에 추가 된 모든 항목을 지우고 싶습니다.

+0

모든 장바구니 상품이란? –

+0

나는 당신을 돕고 싶지만이 질문을 해석하는 적어도 5 가지의 다른 방법이 있습니다. –

+0

질문을 편집했습니다. 희망은 지금 분명합니다. –

답변

3

내 첫번째 추측은

$items = Mage::getResourceModel('sales/quote_item_collection'); 

foreach ($items as $item) { 
    $item->delete(); 
} 

카트 항목은 '인용'의 일환으로 저장되어, 같은 것입니다. 이 모든 것을 루핑하는 것은 느릴 수 있습니다. SQL에서 수행하는 것이 더 빠르지 만 안전하지는 않습니다.

+0

이 쿼리는보다 안전 해 보입니다 : DELETE FROM'sales_flat_quote' WHERE is_active = 1; –

+1

'DELETE FROM sales_flat_quote'는 고객이 부분적으로 기입했을 수있는 주소, 지불 및 운송 옵션을 제거하는 계단식 삭제를 유발합니다. 좀 더 정확하려면'DELETE FROM sales_flat_quote_item INNER JOIN sales_flat_quote ON quote_id = entity_id WHERE is_active = 1'이어야합니다. – clockworkgeek

2

나는 직접적으로 귀하의 질문과 관련이 없지만 도움이 될 수 있음을 알고 있습니다.

Inchoo는 장바구니 페이지에 "Cart Empty"링크를 넣는 며칠 전에 기사를 게시했습니다.

There’s no “EMPTY CART” on Magento’s cart page

+0

어딘가에 필요할 수도있는 이벤트를 호출하지 못하기 때문에 SQL 응답을 제안하기를 꺼 렸습니다. Inchoo의 메소드는'removeItem'을 사용합니다.이 이벤트는 더 나은 방법입니다. – clockworkgeek

+0

Inchoo의 모듈은 개별 고객이 장바구니를 비울 수있는 고객에게 적합합니다. 그러나 한 번에 모든 고객의 장바구니 항목을 삭제하고 싶습니다. 따라서 SQL과 함께 생각했습니다. –

관련 문제