Trabajo con precios y monedas en Twig En este artículo revisaremos en detalle el trabajo con precios y monedas en plantillas. false W3sidGl0bGUiOiJBdXRvbWF0aXphY2nDs24iLCJ1cmwiOiIvZXMvZGV2ZWxvcGVycy9hdXRvbWF0aW9uLyJ9LHsidGl0bGUiOiJQbGFudGlsbGFzLVR3aWciLCJ1cmwiOiIvZXMvZGV2ZWxvcGVycy9hdXRvbWF0aW9uL3R3aWcvIn1d Automatización /es/developers/automation/ ["developers","Automatización"] ["developers","Automatización","Plantillas-Twig"] developers

Trabajo con precios y monedas en Twig

En este artículo revisaremos en detalle el trabajo con precios y monedas en plantillas.

En las plantillas Twig está disponible el filtro price para mostrar precios y monedas:

{{ order.totalSumm|price }}       # 1 234,56 $

Utilice el filtro |price para que el sistema aplique el formato y la moneda correspondientes.

El punto importante es identificar y visualizar correctamente la moneda y el monto. Cada uno de los campos correspondientes al dinero contiene el valor en la moneda del objeto o en la moneda básica.

Por ejemplo, el campo order.totalSumm contiene el valor en la moneda del pedido mientras order.purchaseSumm, en la moneda básica.

Para saber a qué moneda corresponde cada campo en concreto, consulte al Directorio de objetos.

Si no se transmite el código de moneda en los parámetros, el filtro intenta identificar primero la moneda del campo. Si no puede hacerlo, muestra la moneda básica.

Para que el filtro identifique correctamente la moneda del campo cuyo valor se muestra, debe recibir la pareja de objeto y campo. En caso de guardar el valor del campo en una variable intermedia e ingresar el precio a través de estos filtros para la variable, el contexto monetario del campo se perderá y se visualizará la moneda básica.

Consideremos un ejemplo

Supongamos que la moneda básica en el sistema sea el Dólar estadounidense ($) y la moneda adicional sea el Euro (€). Un pedido está formalizado en Euro y queremos generar una plantilla de la impresión con twig para imprimirla para este pedido.

Especifiquemos una construcción del siguiente tipo en la plantilla:

Total del pedido: {{ order.totalSumm|price }}

En la plantilla de impresión se visualizará:

Total del pedido: 1 000,45 €

Ahora cambiemos la construcción por

{% set total = order.totalSumm %}
Total del pedido: {{ total|price }}

En la plantilla de impresión se visualizará:

Total del pedido: 1 000,45 $

Como se nota, la moneda del campo del pedido se ha perdido y en la plantilla se visualiza el precio con una moneda incorrecta.

Cabe destacar que la moneda estará identificada correctamente si la referencia al campo se realizará a través de una cadena de llamadas a los objetos.

Por ejemplo,
{{ order.payments[0].amount|price }} # 1 000,45 €
{{ customer.lastOrder.totalSumm|price }} # 1 000,45 €
Gracias por tus comentarios.
¿Te resultó útil este artículo?
No
  • Las recomendaciones no ayudaron
  • No hay respuesta a mi pregunta
  • El texto es difícil de entender
  • No me gusta la funcionalidad descrita
Sí
Artículo anterior
Directorio de funciones-Twig disponibles
Igual que los filtros, en las plantillas está disponible la mayoría de funciones estándares junto con varias funciones especiales. La lista general de las funciones disponibles se encuentra en el artículo.
Artículo siguiente
Preguntas frecuentes
Consideramos algunas situaciones que pueden generar dudas del trabajo con Twig