Magento 마켓 세분화 플러그인을 사용하고 있으며 주문 상태가 '완료'되었지만 '완료'및 '처리 중'인 사용자를 분류하려고합니다. 다음과 같이'완료 됨'및 '처리 중'상태의 주문 수 받기
는고객에 따라 분할에 대한 원래의 코드 부분은 같습니다
if ($this->getAttribute() == 'ordered') {
$customersOrders = Mage::helper('marketsuite/customer')->getOrderCollectionByCustomerIds($_customerIds);
$customersOrders->addFieldToFilter('state', Mage_Sales_Model_Order::STATE_COMPLETE);
$_arrayOrderIdCustomerId = $customersOrders->getConnection()->fetchPairs($customersOrders->getSelect());
$_arrayOrderIdTotal = $this->_getValidatedTotalOrderedCount(array_keys($_arrayOrderIdCustomerId));
$_validatedArrayOrderIdCustomerId = array_intersect_key($_arrayOrderIdCustomerId, $_arrayOrderIdTotal);
주문에 따라 segmentating의 또 다른 부분 :
public function validateOrderCollection(Zend_Db_Select $select)
{
if ($this->getAttribute() == 'ordered') {
$select
->where('state = ?', Mage_Sales_Model_Order::STATE_COMPLETE)
;
$_orderIds = Mage::helper('marketsuite/order')->getAllIds($select);
$orderTotals = $this->_getValidatedTotalOrderedCount($_orderIds);
$validatedOrders = array();
foreach ($orderTotals as $orderId => $totalOrderedCount) {
if ($this->validateAttribute($totalOrderedCount)) {
array_push($validatedOrders, $orderId);
}
}
return $validatedOrders;
}
return array();
}
질문 : 포함하려면 어떻게 모두 "완료"를 두 경우 모두 "처리 중"입니다. 나는 그것이이 부분 $customersOrders->addFieldToFilter('state', Mage_Sales_Model_Order::STATE_COMPLETE);
과 관련이 있다는 것을 알고 있지만 이것을 성취하는 방법을 정확히 모르겠습니다.
귀하의 도움에 감사드립니다.
덕분에 뭔가를 시도 할 수 있습니다,하지만 실제로 내 예에 넣어 어디서 정말 모르겠어요 위에 게시했습니다. –