Creación - Formulario En Línea Remoto

Objetivo: una aplicación web para enumerar y crear un nuevo cliente.
Dificultad: **

Preparación

Copie el archivo list_the_clients.php de la Sección 3.3 en un archivo denominado C-CRUD.php en la raíz de su servidor web.

La adición de recursos puede ser comparada a una actualización de un elemento vacío.

Pero, ¿cómo recuperamos un XML formateado como un cliente de vacío?

En el servicio web, existe un método para recuperar un XML vacío. Es accesible a través de una URL formateada:

Es posible reemplazar el valor de régimen de parámetro "blank" con "synopsis" para obtener más información sobre los campos del recurso. http://mitienda.com/api/(resource nombre)?schema=blank

Como vimos en la Sección 3.3 (Enumeración de clientes), es posible crear una matriz de parámetros de "get", "resource" y "id". También es posible especificar sólo una URL de esta manera:

$xml = $webService->get( array( 'url' => 'http://mystore.com/api/customers?schema=blank' ) );

Aquí, tenemos la variable XML completa de un cliente de vacío.

<prestashop>
  <customer>
    <id_default_group/>
etc...

A partir del archivo XML recuperado:

Luego podemos, gracias a los muchos campos que tenemos, crear un formulario relacionado.

Obtención de todos los campos:

$resources = $xml->children()->children();

Ruta de todos los campos y parte de la creación dinámica de campos de formulario en una tabla:

foreach ( $resources as $key => $resource ) {
  echo '<tr><th>' . $key . '</th><td>';   
  echo '<input type="text" name="' . $key . '" value=""/>';
  echo '</td></tr>';
}

Una vez que los datos se pasan en POST, combinamos los datos enviados con el archivo XML en blanco, la cual es la misma técnica utilizada para la actualización de los datos.

foreach ( $resources as $nodeKey => $node ) {
  $resources->$nodeKey = $_POST[ $nodeKey ];
}

Llamar al servicio web es similar a lo que hemos visto anteriormente:

$opt = array( 'resource' => 'customers' );
$opt ['xml' ] = $xml->asXML();
$xml = $webService->add( $opt );

Ahora cree un script que añade un cliente. Recuerde que algunos campos son obligatorios, así que no se olvide de rellenarlos.

Si tiene problemas, observe el código para 3-Create.php.