문제

누군가가 외부 스크립트를 통해 고객을 추가 할 때 웹 사이트 및 저장 값이 무시되고 고객이 항상 "관리자"에 할당되어 있고 "주 웹 사이트"가 아닌 고객이 항상 할당됩니다.

i Magento 인스턴스 내에 1 개의 웹 사이트와 1 개의 저장소가 있으며 각각 1

의 ID가 있습니다.

내 코드는 다음과 같습니다 :

    $customer = Mage::getModel("customer/customer");
    $customer   ->setWebsiteId(1)
                ->setStore(1)
                ->setFirstname('John')
                ->setLastname('Smith')
                ->setEmail('john@smith.com')
                ->setPassword('password')
                ->setGroupId('1');
    try{
        $customer->save();
    }
    catch (Exception $e) {
        Zend_Debug::dump($e->getMessage());
    }
.

도움이 되었습니까?

해결책

setStore()를 사용하는 대신 setStoreId()

를 사용할 수 있습니다.
$customer = Mage::getModel('customer/customer');

$email = 'john@smith.com';
$storeId = 1;

$website_id = Mage::getModel('core/store')->load($storeId)->getWebsiteId();
$customer->setWebsiteId($website_id);
$customer->setStoreId($storeId);
...
.

다른 팁

코드에 오류가 발생했습니다.

->setStore()
.

위에서 저장소 ID의 정수 값을 사용하지 아니한 경우 현재 저장소의 인스턴스가 필요합니다 (예 :

->setStore(Mage::app()->getStore())
.

귀하의 경우에, 나는 그것이있을 것이라고 상상한다,

->setStore(Mage::getModel('core/store')->load(2));
.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 magento.stackexchange
scroll top