Создайте клиента программно, используя setData
У меня есть динамический массив данных, который содержит данные о клиентах, данные внутри массива будут вариативными, поэтому я использую функцию setData для вставки данных клиента в модель клиента следующим образом:
$data0['website_id'] = '0';
$data0['group_id'] = '1';
$data0['firstname'] = 'Bruce';
$data0['lastname'] = 'Wayne';
$data0['email'] = '[email protected]';
$data0['password'] = 'BecauseIAmBatman';
$data1['website_id'] = '0';
$data1['group_id'] = '1';
$data1['firstname'] = 'Clark';
$data1['lastname'] = 'Kent';
$data1['email'] = '[email protected]';
$data1['gender'] = '1';
$data1['taxvat'] = '12345';
$data1['password'] = 'SupermanIsDead';
$data[] = $data0;
$data[] = $data1;
foreach ($data as $dat) {
$dat = array($dat);
$customer = Mage::getModel("customer/customer");
$customer->setData($dat);
$customer->save();
}
Если я выполню приведенный выше код, я получу такую ошибку:
Произошла ошибка при обработке вашего запроса Требуется электронная почта клиента
1
Author: Shell Suite, 2017-10-31
2 answers
Попробуйте использовать приведенный ниже код, он будет работать для вас
<?php
ini_set('display_errors', 1);
require_once ( "app/Mage.php" );
Mage::app();
$data['website_id'] = '0';
$data['group_id'] = '1';
$data['first_name'] = 'Bruce';
$data['last_name'] = 'Wayne';
$data['email'] = '[email protected]';
$data['password'] = 'BecauseIAmBatman';
$data1['website_id'] = '0';
$data1['group_id'] = '1';
$data1['first_name'] = 'Second';
$data1['last_name'] = 'User';
$data1['email'] = '[email protected]';
$data1['password'] = 'BecauseIAmBatman';
$mainData[]=$data;
$mainData[]=$data1;
foreach($mainData as $data)
{
$customer = Mage::getModel("customer/customer");
foreach ($data as $key=>$value) {
$customer->setData($key,$value);
}
$customer->save();
}
echo "done";
Надеюсь, это поможет.
2
Author: Dhaval Solanki, 2017-10-31 04:14:42
Я не знаю, почему вы используете несколько массивов при извлечении своих данных. Вы можете просто объединить их, а затем задать данные для моделирования.
$data0['website_id'] = '0';
$data0['group_id'] = '1';
$data0['firstname'] = 'Bruce';
$data0['lastname'] = 'Wayne';
$data0['email'] = '[email protected]';
$data0['password'] = 'BecauseIAmBatman';
$data1['website_id'] = '0';
$data1['group_id'] = '1';
$data1['firstname'] = 'Clark';
$data1['lastname'] = 'Kent';
$data1['email'] = '[email protected]';
$data1['gender'] = '1';
$data1['taxvat'] = '12345';
$data1['password'] = 'SupermanIsDead';
$data = array_merge($data0, $data1);
Установите данные в свою модель и сохраните
$customer = Mage::getModel("customer/customer");
$customer->setData($data);
$customer->save();
0
Author: Priyank, 2017-10-31 05:09:16