Я хочу добавить x клиентов на Prestashop с помощью кода, но с дополнительными полями

Я хочу добавить x клиентов на Prestashop с помощью кода, но с дополнительными полями

24.05.2019 01:16:55 Просмотров 74 Источник

Я пытаюсь добавить клиентов с кодом, но 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

У вопроса есть решение - Посмотреть?

https://stackoverflow.com/questions/56290614/i-want-to-add-x-customers-on-prestashop-via-code-but-with-extra-fields#comment99254082_56290614
лол, спасибо-q так много

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

Является ответом!
Nigel Ren

27.05.2019 01:28:46

При сохранении значений из SimpleXML, если вы просто ссылаетесь на сам элемент по его имени тега - это будет экземпляр SimpleXMLElement. Поскольку вы хотите получить фактическое содержимое элемента, самый простой способ сделать это-привести его к строке...

$customer->firstname= (string)$entity->Name;
Закрыть X