2011-01-07 16 views
14

Quiero obtener los detalles del carrito de compras, utilizando la función getQuote de Magento. ¿Cómo puedo hacer esto?Obtenga los detalles del carrito de compras en Magento

$cart = Mage::getModel('checkout/cart')->getQuote(); 

Al imprimir la página $cart detiene la ejecución y se muestra la página en blanco. Pero cuando escribo

$cart = Mage::getModel('checkout/cart')->getQuote()->getData(); 

e imprimir el $cart una matriz mostrará. Pero quiero hacer un seguimiento de los datos completos del carrito (identificación del producto, precio del producto, como toda la información).

¿Hay algún otro método por el que pueda encontrar los datos de la tarjeta de compra?

Respuesta

25

El objeto devuelto por getQuote es un Mage_Sales_Model_Quote. Tiene un método getAllItems que a su vez devuelve una colección de objetos Mage_Sales_Model_Quote_Item.

Todo esto significa que usted puede inspeccionar productos similares:

PS. La razón por la que obtienes una página en blanco es porque es probable que el vertido de un objeto completo cayera en recursividad y la página haya agotado el tiempo, o PHP se quedó sin memoria. El uso de getData o debug es más seguro, pero, como ha visto, no devuelve las variables protegidas/privadas.

+4

La única cosa que añadir aquí es la instalación de XDebug hace "seguro" para colocar un objeto en la función PHP var_dump y evitar la mayoría de los problemas relacionados con la recursividad. –

+1

Genial, solo una pequeña corrección rápida es: foreach ($ cart-> getAllItems() como $ item) en lugar de foreach ($ cart-> getItems() como $ item). –

+0

@GershonHerczeg - Buena captura, gracias. – clockworkgeek

2

Get Compras productos utilizando getQuote() método

$cart = Mage::getModel('checkout/cart')->getQuote()->getItemsCollection(); 
echo "<pre>"; 
print_r($cart->getData()); 

Obtener Compras productos sin getQuote() método

$cart = Mage::getModel('checkout/cart')->getItems(); 
echo "<pre>";print_r($cart->getData()); 
Cuestiones relacionadas