2

カスタム モジュールを使用して新しい顧客アカウントを作成しようとしました。顧客アカウントの作成と共に性別を保存する必要があります。これは、性別を保存しようとしたコレクションです。

  $customer = Mage::getModel('customer/customer')->setId(null);
        $customer->setData('firstname', $data['first_name']);
        $customer->setData('lastname', $data['last_name']);
        $customer->setData('email', $data['email']);
        $customer->setData('gender', $data['gender']);
        $customer->setData('is_active', 1);
        $customer->setData('confirmation', null);
        $customer->setConfirmation(null);
        $customer->getGroupId();
        $customer->save(); 

このコレクションでは、名、姓、電子メールが適切に顧客テーブルに保存されます。しかし、性別情報は顧客テーブルに保存されませんか?

4

1 に答える 1

4

2 つの小さなエラー ( の二重設定confirmation、廃止getGroupId) 以外に、これは機能するはずです。

私の推測では、性別に間違ったオプション ID を使用していると思われます$data['gender']

これを確認するには、性別の値を固定してみてください。

$customer = Mage::getModel('customer/customer')
    ->setFirstname('John')
    ->setLastname('Doe')
    ->setEmail('51zv52zg@example.com')
    ->setGender(
        Mage::getResourceModel('customer/customer')
            ->getAttribute('gender')
            ->getSource()
            ->getOptionId('Female')
    )
    ->setIsActive(1)
    ->setConfirmation(null)
    ->save();
于 2012-09-21T08:46:24.730 に答える