ग्राहकों को प्रोग्राम बनाना


13

मैं कुछ ग्राहकों को प्रोग्राम बनाना चाहता हूं और वेबसाइट आईडी को बचाने के लिए मेरे पास एक मुद्दा है।

मेरे पास कई वेबसाइट आईडी हैं:

0 => admin
1 => germany
2 => hungary
3 => romania

यह मेरा कोड है:

 $customer = Mage::getModel("customer/customer");
 $customer->setWebsiteId(3);
 $customer->setStoreId(1);
.....
 $customer->save();

जब मैंने एक ग्राहक को बचाया तो मुझे वेबसाइट ड्रॉप डाउनAdmin से चयनित मूल्य मिलता है । वेबसाइट आईडी (जैसे ) को मैं जो भी मूल्य देता हूं, मुझे वह मूल्य मिला है । क्यों ?12321Admin

धन्यवाद।

जवाबों:


0

क्या आप इस कोड के साथ प्रयास कर सकते हैं:

//If you know store id
$storeId = 'id';
$store = Mage::getModel('core/store')->load($storeId); // Mage::app()->getStore($storeId);
if($store && $store->getId()) {
    $customer = Mage::getModel("customer/customer");
    $customer->setStore($store);
}


//->setStore reference:app/code/core/Mage/Customer/Model/Customer.php
/**
 * Set store to customer
 *
 * @param Mage_Core_Model_Store $store
 * @return Mage_Customer_Model_Customer
 */
public function setStore(Mage_Core_Model_Store $store)
{
    $this->setStoreId($store->getId());
    $this->setWebsiteId($store->getWebsite()->getId());
    return $this;
}

मुझे यह त्रुटि संदेश मिलता है: घातक त्रुटि: अनचाहे Mage_Core_Exception: ग्राहक वेबसाइट आईडी को वेबसाइट के दायरे का उपयोग करते समय निर्दिष्ट किया जाना चाहिए
अत्तिला नागी

1
आप ईमेल द्वारा लोड ग्राहक की कोशिश कर रहे हैं? इस समस्या को इसमें वर्णित किया गया है: एप्लिकेशन / कोड / कोर / मेगाह / ग्राहक / मॉडल / संसाधन / ग्राहक. php
ऑसोएरो

0

यह मेरे कोड का नमूना है और आपको वेबसाइट आईडी को 2 बार सेट करना होगा। मुझसे मत पूछो क्यों। हो सकता है कि कोई आपको बेहतर समाधान देगा लेकिन यह मेरे लिए काम करता है:

 $customer->setWebsiteId(1);
 $customer->setStoreId(5);
 $customer->setData(.....)

 $customer->save();

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

0

इस कोड को आज़माएं

$websitesArray = array(0 => "admin",
                1 => "germany",
                2 => "hungary",
                3 => "romania");
foreach($websitesArray as $websiteId => $websiteName) {
    $website = Mage::getModel('core/website')->load($websiteId);
    if($website->getId()) {
        $customer = Mage::getModel("customer/customer");
        $customer->setWebsiteId($website->getId())
                    ->setFirstname('John')
                    ->setLastname('Doe')
                    ->setEmail('jd1@ex.com')
                    ->setPassword('somepassword');

        try{
            $customer->save();
        }
        catch (Exception $e) {
        }       
    }
}

ध्यान दें :

व्यवस्थापक पक्ष पर जाएं System > configuration > Customers > Customer Configuration > Account Sharing Optionsऔर Per Websiteफ़ील्ड में सेट करेंShare Customer Accounts

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.