Как загрузить не активных клиентов в magento - PullRequest
1 голос
/ 25 сентября 2011

Мне нужно загружать только неактивных клиентов из коллекции magento.

$collection = Mage::getModel('customer/customer')
    ->getCollection()
    ->addNameToSelect()
    ->addAttributeToSelect('email')
    ->addAttributeToSelect('created_at')
    ->addAttributeToSelect('group_id')
    ->addAttributeToSelect('confirmation') 
    ->addAttributeToSelect('*');`

  $collection 
    ->joinAttribute('billing_postcode', 'customer_address/postcode', 'default_billing', null, 'left')
    ->joinAttribute('billing_city', 'customer_address/city', 'default_billing', null, 'left')
    ->joinAttribute('billing_telephone', 'customer_address/telephone', 'default_billing', null, 'left')
    ->joinAttribute('billing_region', 'customer_address/region', 'default_billing', null, 'left')
    ->joinAttribute('billing_country_id', 'customer_address/country_id', 'default_billing', null, 'left');

И из этой коллекции я попытался добавить

$collection->getSelect()->where("e.is_active = 0 ");

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

Примечание. Из внешнего интерфейса по умолчанию я устанавливаю для всех клиентов регистрацию как is_active как 0, поэтому после одобрения администратором активными будут только клиенты.Для этого мне нужно загрузить всех этих неактивных клиентов.

Ответы [ 2 ]

1 голос
/ 22 октября 2011

Попробуйте $collection->addAttributeToFilter('is_active', 0)

0 голосов
/ 13 февраля 2013

Согласно этому потоку magento может быть ошибка в определении атрибутов по умолчанию для объекта клиента.Попробуйте взглянуть на Mage_Customer_Model_Entity_Customer, в этом методе:

protected function _getDefaultAttributes()
{
    return array(
        'entity_type_id',
        'attribute_set_id',
        'created_at',
        'updated_at',
        'increment_id',
        'store_id',
        'website_id'
    );
}

должно быть:

protected function _getDefaultAttributes()
{
    return array(
        'entity_type_id',
        'attribute_set_id',
        'created_at',
        'updated_at',
        'increment_id',
        'store_id',
        'website_id',
        'is_active'
    );
}

Если это так, то решение Зявы ни этоодин: $collection->addFieldToFilter('is_active', 0), вероятно, не будет работать.

...