2015-06-01 4 views
2

Я работаю над пользовательским расширением magento.Magento/PHP - Как получить номер всех членов группы клиентов

Я сделал меню выбора со всеми группами клиентов, вот код этого:

$CustomerGroups = Mage::getResourceModel('customer/group_collection')->toOptionArray(); 

$CustomerGroups = array_merge(array('' => ''), $CustomerGroups); 

$fieldset->addField('customergroups', 'select', 
     array(
      'name'  => 'customergroups', 
      'label'  => Mage::helper('smsnotification')->__('User Group'), 
      'class'  => 'required-entry', 
      'values' => $CustomerGroups 
     ) 
    ); 

Вот результат:

enter image description here

Как вы можете видеть результаты такие как:

  • не зарегистрировано
  • Общие
  • Оптовая
  • Retailer

Что я хочу, чтобы просто добавить количество членов в каждой группе клиентов, например General - (125 members).

Позвольте мне дать вам пример того, что я хочу достичь, но не знаю, как на картинке:

enter image description here

Можете ли вы помочь мне достичь этого?

Заранее благодарен!

ответ

0

Этот запрос должен делать эту работу:

SELECT `group_id`, count(*) AS `count` FROM `customer_entity` GROUP BY `group_id`

0

Если вы DONOT хотите использовать прямую MySQL Query на базе данных, то вы можете попробовать это:

$customerCollectionSize = array(); 
$customerGroups   = Mage::getModel('customer/group')->getCollection(); 

foreach($customerGroups as $customerGroup) { 
    $customerGroupId = $customerGroup->getId(); 
    $customerCollection = Mage::getModel('customer/customer') 
     ->getCollection() 
     ->addAttributeToSelect('*') 
     ->addFieldToFilter('group_id', $customerGroupId); 

     $customerCollectionSize[$customerGroupId] = $customerCollection->getSize(); 
} 

В настоящее время в этом массиве $ customerCollectionSize у вас будет общее нет. клиентов, соответствующих идентификатору группы клиентов.

Если вы хотите использовать, то прямой MySQL Query попробовать, как @ том-Lankhorst предложен выше:

SELECT `group_id`, count(*) AS `count` FROM `customer_entity` GROUP BY `group_id` 

Надеется, что это помогает !!