2010-08-05 10 views
6

मैं एक ऐसी स्क्रिप्ट लिख रहा हूं जो उपयोगकर्ताओं को स्वचालित रूप से Magento में आयात करता है।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'); 
बचाने से पहले

, लेकिन यह काम नहीं किया। क्या किसी को पता है कि उपयोगकर्ता की पुष्टि कैसे करें?

धन्यवाद!

उत्तर

15

मुझे लगता है कि setConfirmation() एक पुष्टिकरण कुंजी की प्रतीक्षा कर रहा है। null पास करने का प्रयास करें और मुझे लगता है कि यह काम करेगा?

बस स्पष्ट करने के लिए:

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

पुष्टि के लिए मजबूर करना चाहिए।

+0

इससे बनाया गया। :-) मैं केवल यह हाइलाइट करना चाहता हूं कि ग्राहक बनाते समय * पहले * और * के बाद * पुष्टिकरण कुंजी सेट करने के बाद, सहेजना महत्वपूर्ण है, जैसा कि मेली ने बताया। – fdierre

4

जब मैंने खातों को बनाया, तो वे पहले ही पुष्टि कर चुके थे, लेकिन वे अक्षम कर दिए गए थे! यह बात तय हो गई:

$customer->save(); 
$customer->setConfirmation(null); 
$customer->setStatus(1); 
$customer->save(); 
+0

एसओ में आपका स्वागत है। अच्छी तरह उत्तर दिया, हालांकि मौजूदा उत्तरों को पढ़ने के लायक है यह देखने के लिए कि क्या समस्या पहले से ही हल हो चुकी है या नहीं। –

+0

ग्राहक पर "स्थिति" संपत्ति प्रतीत नहीं होती है, इसलिए सेटस्टैटस (1) व्यर्थ है। – Saustrup

1

सहेजा जा रहा है पूरे मॉडल महंगा है। आप केवल पुष्टि गुण को सहेज सकते हैं जो बहुत तेज है:

$customer->setConfirmation(NULL); 
$customer->getResource()->saveAttribute($customer, 'confirmation'); 
संबंधित मुद्दे