Я хочу добавить x клиентов на Prestashop с помощью кода, но с дополнительными полями
Я пытаюсь добавить клиентов с кодом, но PrestaShop дает мне ошибку. Чат с использованием PHP и XML
$XMLRQString = '<?xml version="1.0" encoding="utf-8"?>'.
'<x:Winmax4GetEntitiesRQ xmlns:x="urn:Winmax4GetEntitiesRQ">'.
'</x:Winmax4GetEntitiesRQ >';
$Params=array(
'CompanyCode'=>'',
'UserLogin'=>'',
'UserPassword'=>'',
'Winmax4GetEntitiesRQXML'=> $XMLRQString
);
$return = $client->GetEntities($Params);
$XMLRSString = new SimpleXMLElement($return->GetEntitiesResult);
foreach ($XMLRSString->Entities->Entity as $entity)
{
$default_lang= Configuration::get('PS_LANG_DEFAULT');
$customer=new Customer();
$customer->email= $entity->Email;
$customer->lastname= $entity->EntityType;
$customer->firstname= [$default_lang => $entity->Name];
$customer->contribuinte= $entity->TaxPayerID;
$customer->passwd= $entity->TaxPayerID;
$customer->active = 1;
$customer->add();
}
Ошибка: (1/1) предупреждение ContextErrorException: preg_match () ожидает параметр 2 должен быть строкой, массив задан
в общем, да.php строка 172
в ValidateCore:: isCustomerName (array (object (SimpleXMLElement))) in Объектную модель.php строка 1149
в ObjectModelCore - >validateField ('firstname', array (object (SimpleXMLElement))) в ObjectModel.php строка 981
в ObjectModelCore - >validateFields () в ObjectModel.php строка 284
в ObjectModelCore - >getFields () в ObjectModel.в PHP строка 551
в ObjectModelCore - > добавить (true, true)в Customer.php строка 264
в CustomerCore- > add () в create_clients.php строка 66


Ответы - Я хочу добавить x клиентов на Prestashop с помощью кода, но с дополнительными полями / I want to add x customers on Prestashop via code but with extra fields

27.05.2019 01:28:46
При сохранении значений из SimpleXML, если вы просто ссылаетесь на сам элемент по его имени тега - это будет экземпляр SimpleXMLElement. Поскольку вы хотите получить фактическое содержимое элемента, самый простой способ сделать это-привести его к строке...
$customer->firstname= (string)$entity->Name;