Cómo comprobar si el producto tiene un precio especial en Magento 2

Estás leyendo la publicación: Cómo comprobar si el producto tiene un precio especial en Magento 2

Uno de los enfoques más comunes que varias empresas intentan mejorar su cifra de ventas es ofrecer el descuento. Los propietarios de las tiendas Magento 2 generalmente incorporan los descuentos en los productos de la tienda al mostrar el precio real junto con el precio especial para atraer a los visitantes a comprar a precios reducidos. Después de la implementación, la página de inicio o página de categoría muestra el precio real como cancelado y el precio especial como el precio a pagar.

Cuando crea una página personalizada en Magento 2 para los productos y asigna el precio obtenido, asigna el precio real en lugar de los precios especiales, lo cual es incorrecto. entonces tienes que comprobar si el producto tiene precio especial en Magento 2 almacenar y asignar la misma a los productos. Aquí, se me ocurrió el código para comprobar si el producto tiene precio especial en Magento 2.

Métodos para comprobar si el producto tiene precio especial en Magento 2:

  1. Con administrador de objetos
  2. Método de bloque

Métodos para comprobar si el producto tiene precio especial en Magento 2:

  1. Con administrador de objetos

    create(‘Magento\Catalog\Model\Product’)->load($product_id); $precioorg = $_producto->getPrecio(); $precioespecial = $_producto->obtenerPrecioEspecial(); $fechaDesdeEspecial = $_producto->getEspecialDeFecha(); $especialtodate = $_producto->getSpecialToDate(); $hoy = hora(); if (!$precioespecial) $precioespecial = $precioorg; if ($precioespecial< $precioorg) { if ((es_null($fechaespecial) &&is_null($fechaespecial)) || ($hoy >= strtotime($especialfecha) &&is_null($especialfecha)) || ($hoy <= strtotime( $fechaespecial) &&is_null($fechaespecial)) || ($hoy >= strtotime($fechaespecial) && $hoy <= strtotime($fechaespecial))) { echo 'el producto tiene un precio especial'; } } ?>

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    dieciséis

    17

    18

    19

    $id_producto = 10; //ID del Producto

    $objectManager = \Magento\Framework\App\ObjectManager::getInstance();

    $_producto = $objectManager->create(‘Magento\Catalog\Model\Product’)->load($product_id);

    $precioorg = $_producto->getPrecio();

    $precioespecial = $_producto->obtenerPrecioEspecial();

    $fechaDesdeEspecial = $_producto->getEspecialDeFecha();

    $especialtodate = $_producto->getSpecialToDate();

    $hoy = hora();

    if (!$precioespecial)

    $precioespecial = $precioorg;

    if ($precioespecial< $precioorg) {

    if ((is_null($specialfromdate) &&is_null($specialtodate)) || ($hoy >= strtotime($specialfromdate) &&is_null($specialtodate)) || ($hoy <= strtotime($specialtodate) &&is_null($specialfromdate)) || ($hoy >= strtotime($specialfromdate) && $hoy <= strtotime($specialtodate))) {

    echo ‘el producto tiene un precio especial’;

    }

    }

    ?>

  2. Método de bloque

    use Magento\Catálogo\Modelo\ProductFactory; $productFactory protegido; public function __construct(ProductFactory $productFactory) { $this->productFactory = $productFactory; } public function getIsSpecialPrice($productId){ $_product = $this->productFactory->create()->load($productId); $precioorg = $_producto->getPrecio(); $precioespecial = $_producto->obtenerPrecioEspecial(); $fechaDesdeEspecial = $_producto->getEspecialDeFecha(); $especialtodate = $_producto->getSpecialToDate(); $hoy = hora(); if (!$precioespecial) $precioespecial = $precioorg; if ($precioespecial< $precioorg) { if ((es_null($fechaespecial) &&is_null($fechaespecial)) || ($hoy >= strtotime($especialfecha) &&is_null($especialfecha)) || ($hoy <= strtotime( $fechaespecial) &&is_null($fechaespecial)) || ($hoy >= strtotime($fechaespecial) && $hoy <= strtotime($fechaespecial))) { return 1; } } devuelve 0; }

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    dieciséis

    17

    18

    19

    20

    21

    22

    23

    24

    25

    26

    27

    28

    use Magento\Catálogo\Modelo\ProductFactory;

    $productFactory protegido;

    public function __construct(ProductFactory $productFactory) {

    $this->productFactory = $productFactory;

    }

    función pública getIsSpecialPrice($productId){

    $_producto = $this->productFactory->create()->load($productId);

    $precioorg = $_producto->getPrecio();

    $precioespecial = $_producto->obtenerPrecioEspecial();

    $fechaDesdeEspecial = $_producto->getEspecialDeFecha();

    $especialtodate = $_producto->getSpecialToDate();

    $hoy = hora();

    if (!$precioespecial)

    $precioespecial = $precioorg;

    if ($precioespecial< $precioorg) {

    if ((is_null($specialfromdate) &&is_null($specialtodate)) || ($hoy >= strtotime($specialfromdate) &&is_null($specialtodate)) || ($hoy <= strtotime($specialtodate) &&is_null($specialfromdate)) || ($hoy >= strtotime($specialfromdate) && $hoy <= strtotime($specialtodate))) {

    devolver 1;

    }

    }

    devolver 0;

    }

¡Eso es todo!

Fácil de implementar y efectivo Traiga los precios especiales y muéstrelos con los productos en sus páginas personalizadas de Magento 2.

Una vez marcado, puede establecer precios especiales para productos en Magento 2.

¡Puedes mencionar cualquier duda en la sección de comentarios a continuación y lo resolveré lo antes posible!

Califica la publicación con 5 estrellas para apreciar los esfuerzos.

¡Feliz codificación!

🔥 Recomendado:  Los 7 mejores lugares para vender tarjetas de regalo