obtener detalles del pedido por ID de pedido en magento [duplicado]
-
12-12-2019 - |
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
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.