Приглашение клиента в magento - PullRequest
0 голосов
/ 24 марта 2011

Можем ли мы найти их электронный адрес, который был приглашен конкретным клиентом Magento, например, «xyz@abc.com»?

Я знаю, что мы можем получить запись для тех, кто принял приглашение по таблице rewardpoints_referral ,

Мой вопрос здесь. Можем ли мы получить записи, которые еще не приняты, и если да, то по какой таблице?

Спасибо!

1 Ответ

0 голосов
/ 25 марта 2011

Если вы используете модуль очков и вознаграждений J2T (1)

В этом фрагменте будут перечислены все электронные письма рефералов, которые еще не зарегистрированы в качестве клиентов. Я протестировал его на базе 28000 клиентов, и это очень быстро.

/* Retrieve all referrals emails */
$allReferrals = Mage::getModel('rewardpoints/referral')->getCollection();
foreach($allReferrals as $referral) {
    $allReferralsEmails[] = $referral->getRewardpointsReferralEmail();
}

/* Retrieve all signed-up customers that are referrals */
$allReferralsCustomers = Mage::getResourceModel('customer/customer_collection')->addFieldToFilter('email', array('in'=>$allReferralsEmails));
foreach($allReferralsCustomers as $allReferralsCustomer) {
    $allReferralsCustomerData = $allReferralsCustomer->getData();
    $allReferralsCustomersEmails[] = $allReferralsCustomerData['email'];
}

/* Extract referrals that are not signed-up customers */
$notSignedUpReferralsEmails = array_diff($allReferralsEmails, $allReferralsCustomersEmails);
print_r($notSignedUpReferralsEmails);

(1) таблица rewardpoints_referral должна иметь такую ​​структуру:

rewardpoints_referral_id    int(11)     UNSIGNED    No      auto_increment                          
rewardpoints_referral_parent_id int(11)     UNSIGNED    No                                  
rewardpoints_referral_child_id  int(11)     UNSIGNED    Yes NULL                                
rewardpoints_referral_email varchar(255)    utf8_general_ci     No                                  
rewardpoints_referral_name  varchar(255)    utf8_general_ci     Yes NULL                                
rewardpoints_referral_status    tinyint(1)          Yes 0                               
...