Как программно подтвердить пользователя в Magento? - PullRequest
6 голосов
/ 05 августа 2010

Я пишу скрипт, который автоматически импортирует пользователей в magento. Вот фрагмент кода:

$customer = Mage::getModel("customer/customer");
$customer->website_id = $websiteId; 
$customer->setStore($store);

$customer->loadByEmail($riga[10]);

echo "Importo ".$data[0]."\n";
echo "  email :".$data[10]."\n";

$customer->setTaxvat($data[7]);
$customer->lastname =    $lastname;
$customer->email =       $data[10]; 
$customer->password_hash = md5($data[0]);

$customer->save();

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

Я пытался с:

$customer->setConfirmation('1');

до сохранения, но это не сработало. Кто-нибудь знает, как подтвердить пользователя?

Спасибо!

Ответы [ 3 ]

17 голосов
/ 05 августа 2010

Я думаю setConfirmation() ожидает подтверждения ключа.Попробуйте передать null, и я думаю, что это сработает?

Просто чтобы уточнить:

$customer->save();
$customer->setConfirmation(null);
$customer->save();

Должно ли принудительное подтверждение.

4 голосов
/ 20 января 2012

Когда я создавал учетные записи, они уже были подтверждены, но они были отключены! Это исправлено:

$customer->save();
$customer->setConfirmation(null);
$customer->setStatus(1);
$customer->save();
1 голос
/ 15 декабря 2015

Сохранение всей модели стоит дорого. Вы можете сохранить только атрибут подтверждения, который очень быстрый:

$customer->setConfirmation(NULL);
$customer->getResource()->saveAttribute($customer, 'confirmation');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...