1

古いウェブサイトから新しいウェブサイトにデータを変換しているところです。を拡張するクラス内で顧客を作成して入力していますMage_Shell_Abstract

顧客がすでに存在する場合はロードし、存在しない場合は作成します。

$customer = Mage::getModel('customer/customer')->loadByEmail('none@gmail.com');
$customer->setFirstName('John');
$customer->setLastName('Smith');
$customer->save();

この電子メールに顧客がまだ存在しない場合、このコードはエラーを引き起こしますか?

4

1 に答える 1

4

「存在しないMagentoモデル」の意味は正確にはわかりませんが、customer/customerモデルを参照している場合は機能するはずです。

run()メソッド内にいる場合は、のメソッドMage::app()内ですでに実行されているため、そのコンテキスト内からすべてのモデルとその他のMagento機能にアクセスできます。__construct()Mage_Shell_Abstract

したがってgetCustomerByEmail()、通常どおりに機能し、そのモデルまたはその他のすべての他のメソッドも機能します。

次のことができるはずです。

$customer = Mage::getModel('customer/customer')->loadByEmail('none@gmail.com');
if (!$customer->getId()) {
    // Create customer
}
于 2012-08-29T00:33:04.277 に答える