Frage

Könnte jemand bitte mitteilen, warum beim Hinzufügen eines Kunden über ein externes Skript die Website- und Speicherwerte ignoriert werden und der Kunde immer "admin" und nicht "Hauptwebsite" zugewiesen wird.

Ich habe nur 1 Website und 1 Geschäft in meiner Magento-Instanz und jede hat die ID 1

Mein Code ist unten:

    $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());
    }
War es hilfreich?

Lösung

Anstatt zu verwenden setStore() du könntest es gebrauchen 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);
...

Andere Tipps

Sie haben einen Fehler mit Ihrem Code,

generasacodicetagpre.

Das oben genannte dauert nicht einen ganzzahligen Wert für die Speicher-ID, es dauert eine Instanz des aktuellen Ladens, z. B.

generasacodicetagpre.

In Ihrem Fall kann ich mir vorstellen, dass es sein würde,

generasacodicetagpre.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit magento.stackexchange
scroll top