Programmgesteuertes Festlegen einer Kunden-Website-ID
-
13-12-2019 - |
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());
}
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