Невозможно умножить две переменные в Smarty на Prestashop - PullRequest
0 голосов
/ 18 февраля 2020

В моем магазине prestashop у меня есть две переменные per_sqft_price и per_box_price. per_sqft_price имеет знак валюты ($) ранее. Я пытаюсь напечатать умноженное значение этих двух переменных. Но он всегда печатает 0.

{assign var = per_sqft_price value = $product.price}
{assign var = per_box_price value = $product.features[0].value}

<meta itemprop="per_sqft_price" content="{$per_sqft_price|replace:'$':''}"/>
{math equation = "x * y" x = $per_sqft_price  y = $per_box_price }

Пожалуйста, помогите мне, как я могу решить эту проблему. Заранее спасибо

Ответы [ 2 ]

1 голос
/ 19 февраля 2020

Используйте $product.price_amount вместо $product.price, это дает цифру c вывода цены без знака валюты. И убедитесь, что $product.features[0].value также является цифрой c, потому что это может быть строка и может содержать только текст. Кроме того, вы можете использовать intval для таких переменных, как:

{math equation = "x * y" x = $per_sqft_price|intval  y = $per_box_price|intval }
0 голосов
/ 19 февраля 2020

Попробуйте этот код:

{$result = ($per_sqft_price|intval) * ($per_box_price|intval)}

Это не стандартный способ, но он может работать

...