Pregunta

Estoy intentando obtener los detalles del pedido mediante la identificación del pedido en mi código.Para esto, creé un archivo php y lo copié a una carpeta en public_html.este es mi código:

<?php 
 error_reporting( E_ALL );
 require_once "lib/nusoap.php";
 require_once "../app/Mage.php";
  try {
   $order = Mage::getModel('sales/order')->load('100000234');
   $orderData = $order->getData();
   print_r($orderData);
  } catch (Exception $e) {
echo 'Caught exception: ',  $e->getMessage(), "\n";
  }
   ?>

Pero cuando ejecuto este código, ¡no me muestra "nada"!

lo intenté var_dump($order), ¡pero tampoco muestra nada ni ningún error!

¿Alguien puede ayudarme a obtener los detalles del pedido y mostrarlo?

Gracias

¿Fue útil?

Solución

hay especifico loadByIncrementId función para cargar usando el id de incremento.

$order = Mage::getModel('sales/order')->loadByIncrementId('100000234');

Sin embargo, no creo que esté iniciando Magento correctamente, lo que explicaría por qué no necesariamente obtiene lo que desea.Al tiempo que incluye el app/Mage.php le dará acceso a la clase Mage, en realidad no iniciará Magento.Debes iniciar la aplicación, algo como esto:

<?php 
    error_reporting( E_ALL );
    require_once "lib/nusoap.php";
    require_once "../app/Mage.php";
    Mage::app('admin');
    try {
        $order = Mage::getModel('sales/order')->loadByIncrementId('100000234');
        print_r($order->debug());
    } catch (Exception $e) {
        echo 'Caught exception: ',  $e->getMessage(), "\n";
    }

Otros consejos

El número que está utilizando es el incremental_id

En Magento, tiene el Secencial Inctement_ID, que es el ID de pedido visible.

Internamente Magento usa Entity_ID, que se utiliza para vincular datos.

La carga -> usa la entidad_id de forma predeterminada.

Si cambia su código a

$ orden= mago :: getModel ('Ventas / Order') -> Cargar ($ incrementid, 'increment_id');

Debes obtener la orden cargada.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a magento.stackexchange
scroll top