Estás leyendo la publicación: Cómo obtener los datos de los artículos del carrito de compras, subtotal, total general, facturación y amp; Dirección de envío en Magento 2
espacio de nombres Proveedor\Extensión\Modelo\Transportista;
use Magento\Checkout\Model\Cart;
use Magento\Framework\View\Element\Template;
use Magento\Backend\Block\Template\Context;
clase Shippingperitem extiende Plantilla
{
$carrito protegido;
public function __construct(Contexto $contexto, Carrito $carrito, matriz $datos = [])
{
$esto->carrito = $carrito;
padre::__construcción($contexto, $datos);
}
función pública getItems()
{
$itemsCollection = $this->cart->getQuote()->getItemsCollection();
// obtener una matriz de elementos de cotización
$artículos = $este->carrito->getQuote()->getAllItems();
foreach ($elementos como $elemento)
{
echo ‘ID: ‘. $elemento->getProductId() . ‘
‘;
echo ‘Nombre: ‘. $elemento->getNombre() . ‘
‘;
echo ‘Sku:’. $elemento->getSku() . ‘
‘;
echo ‘Cantidad: ‘ . $elemento->getQty() . ‘
‘;
echo ‘Precio: ‘. $elemento->obtenerPrecio() . ‘
‘;
}
}
//Obtenga el número de artículos y la cantidad total del carrito.
función pública getNumberOfItems()
{
$totalItems = $this->cart->getQuote()->getItemsCount();
$cantidadtotal = $este->carrito->getQuote()->getItemsQty();
echo ‘Recuento de elementos:’. $elementostotales. ‘
‘;
echo ‘Cantidad de artículos:’. $cantidadtotal. ‘
‘;
}
//Obtenga el precio total base y el precio total general de los artículos del carrito.
función pública obtenerPrecio()
{
$subTotal = $this->carrito->getQuote()->getSubtotal();
$grandTotal = $this->cart->getQuote()->getGrandTotal();
echo ‘Subtotal:’. $subtotal. ‘
‘;
echo ‘Total general:’. $grantotal. ‘
‘;
}
//Obtenga la dirección de envío y facturación seleccionada del carrito.
función pública getAddress()
{
$direccióndefacturación = $este->carrito->getQuote()->getBillingAddress();
$dirección de envío = $this->cart->getQuote()->getShippingAddress();
echo ‘
';print_r($dirección de facturación->getData());
eco '
‘;
echo ‘
';print_r($envíoDirección->getData());
eco '
‘;
}
}