¿Cómo mostrar el precio en todas las monedas en la página de producto de OpenCart?

Objetivos del blog.

Después de leer este blog, podremos mostrar el precio en todas las monedas en la página de producto de OpenCart 3.x

Planteamiento del problema

De manera predeterminada, OpenCart 3.x muestra el precio del producto en la moneda establecida como predeterminada o elegida por el usuario final. Y para mostrar el precio en todas las monedas disponibles, habrá algunos cambios en los archivos predeterminados o de núcleo de OpenCart. (En caso de que no desee cambiar los archivos principales, puede hacerlo a través de VqMod o OcMod).

Requisito

Necesitaríamos modificar los archivos mencionados a continuación para mostrar el precio del producto en todas las monedas disponibles en la página del producto.

Procedimiento para resolver el problema.

Siga los pasos que se mencionan a continuación: abra product.php desde Catalog / Controller / Product y busque

$ results = $ this-> model_catalog_product-> getProductImages ($ this-> request-> get ['product_id']);

2. Y, agregue la siguiente declaración después de eso –

$ currencies = $ this-> model_localisation_currency-> getCurrencies ();

3. De nuevo, encuentre el siguiente fragmento de código en el mismo archivo:

if ($ this-> customer-> isLogged () ||! $ this-> config-> get ('config_customer_price')) {$ data ['price'] = $ this-> currency-> format ($ this- > tax-> calcula ($ product_info ['price'], $ product_info ['tax_class_id'], $ this-> config-> get ('config_tax')), $ this-> session-> data ['currency'] ); } else {$ data ['price'] = false; }

4. Y reemplazarlo con –

$ datos ['precio'] = array (); if ($ this-> customer-> isLogged () ||! $ this-> config-> get ('config_customer_price')) {foreach ($ monedas como $ moneda) {si ($ moneda ['estado']) { $ data ['price'] [] = $ this-> currency-> format ($ this-> tax-> calcula ($ product_info ['price'], $ product_info ['tax_class_id'], $ this-> config- > get ('config_tax')), $ currency ['code']); }}}

5. Abra product.twig desde catalog / view / theme / default / template / product y busque

<h2> {{price}} </h2>

5. Y reemplazarlo con –

{% para currency_price en precio%} <h2> {{currency_price}} </h2> {% endfor%}

Luego, borre todos los cachés (caché ocmod, caché de ramita, caché vqmod) Eso es todo. Consulte la siguiente captura de pantalla después de aplicar los cambios en el código:

productos-precios-en-todas-monedas

Resumen

Después de seguir el procedimiento anterior, podrá visualizar el precio en todas las monedas disponibles en la página del producto.


Instalación y configuración de Xdebug – Parte 1

Introducción

Este documento contiene los pasos para instalar Xdebug y configurarlo con Netbeans.

Pasos para instalar Xdebug y configurarlo con Netbeans

Para instalar Xdebug y configurarlo con Netbeans, a continuación se detallan los pasos:

1. Instale Xdebug para PHP ejecutando el siguiente comando en un entorno Linux

sudo apt-get install php5-xdebug

2. Configurar Xdebug.ini para Linux

sudo vi /etc/php5/apache2/conf.d/20-xdebug.ini

Añade las siguientes líneas:

xdebug.profiler_output_dir=/tmp
xdebug.profiler_output_name=cachegrind.out.%p
xdebug.profiler_enable_trigger=1
xdebug.profiler_enable=0
xdebug.remote_enable=true
xdebug.remote_host=127.0.0.1
xdebug.remote_port=9001
xdebug.remote_handler=dbgp
xdebug.remote_autostart=0

3. Reiniciar Apache

Sudo service apache2 restart

4. Ahora, configure Netbeans siguiendo los pasos dados a continuación y mostrados en la captura de pantalla:

  • Vaya a Herramientas -> Opciones -> PHP -> Depuración
  • Establecer puerto de depuración: 9001
  • Presione el botón OK y luego comience a depurar su proyecto con CTRL + F5 o con CTRL + SHIFT + F5

Tutorial de vídeo:

Parece útil? Además, lea la otra parte del artículo para obtener información completa y detallada:

Instalación y configuración de Xdebug – Parte 2


Instalación y configuración de Xdebug usando NetBeans – Parte 2

Introducción

Este documento trata sobre la instalación y configuración de Xdebug con Netbeans en Windows.

¿Cómo depurar a través de Xdebug en un proyecto?

Para depurar a través de Xdebug tienes que configurar el proyecto en Netbeans. Configurar el proyecto del sistema Blog en NetBeans. Después de configurar el proyecto en NetBeans, seleccione el proyecto para el que desea depurar. Ahora, ve al menú Archivo en la barra de menú superior.

Luego haga clic en las propiedades del proyecto.

Después de hacer clic en esto, se abrirá una ventana emergente donde debe seleccionar la pestaña Ejecutar configuración.

Después de hacer clic en esto, se abrirá una ventana emergente donde debe seleccionar la pestaña Ejecutar configuración. Entonces puedes ver el botón Avanzado allí. Haga clic en este y seleccione la opción "No abrir Web".

Ahora haga clic en el depurador para iniciar la depuración. Por favor, ver en la captura de pantalla. Y antes de eso, tiene que abrir el proyecto en el navegador: Por ejemplo: http: // localhost: 8080 / blogs / blogs.php? XDEBUG_SESSION_START = netbeans-xdebug Nota: la parte resaltada en la URL anterior es el ID de sesión de xdebug. Debe pasarlo a la página que desea depurar.

Puede ver el Xdebug en estado de ejecución debajo de la barra de notificaciones de NetBeans en la instantánea a continuación:

Luego tienes que agregar un punto de interrupción en el archivo de código. El código se detendrá en ese punto y usted puede verificar los valores. Puede rastrear el código haciendo clic en F7 en NetBeans. Puede verificar el valor de las variables dinámicas al desplazar las variables. También puede agregar la variable en la lista de observación.

Hasta que no complete o llegue a la última línea del código que está depurando, en el navegador, se detendrá. Solo se mostró cargando. Después de completar la depuración o cerrar la sesión de depuración, llegará a la página ((en el navegador) que está abriendo.

Mira el tutorial completo en el siguiente video:

Parece útil? Además, lea la otra parte del artículo para obtener información completa y detallada:

Instalación y configuración de Xdebug


¿Cómo calcular el envío gratuito en función del precio total final en Prestashop?

Después de leer este blog, podremos calcular el envío gratuito en función del precio total final del carrito.

Planteamiento del problema

Actualmente, cuando agregamos productos al carrito y pasamos a la sección de pago para aprovechar el descuento y el envío, vemos que el descuento se aplica después del envío. digamos,

  • El monto total del carrito es de $ 100 que aprovechan el envío gratuito y también se agrega un descuento del 5%
  • Luego, después de que el monto total del descuento del carrito se establece por debajo de $ 100, pero aún así, se aplica el envío gratuito, lo que no debería suceder. El envío gratuito debe aplicarse al monto total final del carrito después del descuento.
  • Este es el proceso predeterminado de Prestashop. Consulte la captura de pantalla a continuación donde el envío debe ser gratuito si el total del pedido es> 50 pero se ha aplicado el envío gratuito mientras que el total del pedido es <50 después del descuento:

Lectura recomendada: Estrategias de envío gratis: ¿Por qué ofrecer? ¿Cómo ofrecer? ¿Cuándo ofrecer?

¿Por qué el problema actual está ahí?

El problema actual está ahí porque el monto del envío se calcula sobre el monto total del pedido que se establece en el carrito antes de aplicar el descuento. Puede verificar las líneas de código a continuación donde se usa el total del pedido sin el monto del descuento para calcular el envío:

$shipping_cost += $carrier->getDeliveryPriceByPrice($the_total_price, $id_zone, (int)$this->id_currency);

Requisito

Necesitamos modificar el archivo mencionado a continuación para arreglar lo mismo. Anularemos las líneas correspondientes del archivo de clase para evitar cualquier cambio en los archivos Core.

A continuación se muestra la lista de archivos de clase que se anularán-

1. Directorio raíz\clases\Cart.PHP

Procedimiento para resolver el problema-

Siga los pasos mencionados a continuación:

1. Función de reescritura�getPackageShippingCost

2. Después de la línea dada a continuación –

// Total del pedido en la moneda predeterminada sin cargos $order_total = $this->getOrderTotal(true, Cart::BOTH_WITHOUT_SHIPPING, $product_list);

3. Agregue la siguiente declaración:

$listeDescuentos = $this->getCartRules(); $descuentos_totales = 0; if (is_array($listeDiscounts)) { if (isset($listeDiscounts[0]['value_real'])) $total_discounts = $listeDiscounts[0]['value_real']; } $price_to_apply_shipment = floatval($order_total) - floatval($total_descuentos); Lectura recomendada: La mejor extensión de administrador de envío gratuito para la tienda OpenCart

4. Reemplace las líneas mencionadas a continuación:

Reemplazar esta línea

$check_delivery_price_by_price = Carrier::checkDeliveryPriceByPrice($row['id_carrier'], $total_order, (int)$id_zone, (int)$this->id_currency);

Con

$check_delivery_price_by_price = Carrier::checkDeliveryPriceByPrice($row['id_carrier'], $price_to_apply_shipment, (int)$id_zone, (int)$this->id_currency);

————Y—————–

Reemplazar esta línea

$shipping_cost += $carrier->getDeliveryPriceByPrice($the_total_price, $id_zone, (int)$this->id_currency);

Con

$shipping_cost += $carrier->getDeliveryPriceByPrice($price_to_apply_shipment, $id_zone, (int)$this->id_currency);

5. Limpia la caché y ejecuta.

Consulte la captura de pantalla a continuación después de aplicar los cambios al código:

Después de seguir el procedimiento anterior, podrá calcular el Envío sobre el monto Total Final del Carrito.

Conclusión

Cuando se trata de compras en línea, toda la estructura de precios juega un papel crucial para los clientes. Uno de los factores que pueden hacer o deshacer sus conversiones es la disponibilidad de envío gratuito. Un método para determinar las opciones y costos de envío en un sitio web de comercio electrónico es el Complemento de administrador de envío gratuito de Knowband. Uno de los requisitos más importantes para aumentar las ventas promedio es brindar apertura en la transacción.

Las tiendas que utilizaron este módulo de envío gratuito aumentaron el tráfico del sitio, los ingresos y las tasas de conversión. Con la ayuda de este complemento de envío gratuito, los administradores de la tienda pueden definir las pautas y condiciones para los costos de envío. Aún mejor, el administrador de la tienda puede agregar o eliminar esta función del sitio web.

Los minoristas en línea pueden establecer el umbral sobre el cual se ofrece el envío gratuito. Como resultado, incluso alienta a los clientes a realizar compras más grandes para calificar para el envío gratuito. Para obtener más información sobre la funcionalidad del Módulo de envío gratuito, no dude en contactarnos en support@knowband.com