gpt4 book ai didi

php - 我如何显示在 Magento 2 中节省的金额?

转载 作者:行者123 更新时间:2023-12-04 02:13:27 25 4
gpt4 key购买 nike

我正在尝试显示在 Magento 2.0.2 网站的目录页面上保存的金额。但是我没有显示计算结果。我只是得到一个空的空间。我正在编辑主题文件中的 final_price.phtml。

我没有在谷歌中找到任何信息,因为大多数结果都与 Magento 1 相关,而且代码会抛出错误。

这就是我的代码在我尝试进行计算的部分中的样子。

<span class="special-price"><span class="only-text">Only: </span>
<?php echo $block->renderAmount($finalPriceModel->getAmount(), [
'display_label' => __('Special Price'),
'price_id' => $block->getPriceId('product-price-' . $idSuffix),
'price_type' => 'finalPrice',
'include_container' => true,
'schema' => $schema
]); ?>
</span>
<br>
<span class="old-price"><span class="rrp-text">RRP: </span>
<?php echo $block->renderAmount($priceModel->getAmount(), [
'display_label' => __('Regular Price'),
'price_id' => $block->getPriceId('old-price-' . $idSuffix),
'price_type' => 'oldPrice',
'include_container' => true,
'skip_adjustments' => true
]); ?>
</span>
<span class="saving-price"><span class="saving-text">Saving: </span>
<?php
$wasPrice = $block->renderAmount($priceModel->getAmount(), []);
$nowPrice = $block->renderAmount($finalPriceModel->getAmount(), []);
if ($nowPrice < $wasPrice){
$saving = $wasPrice - $nowPrice;
echo $saving;
}
?>
</span>

最佳答案

而不是使用

$wasPrice = $block->renderAmount($priceModel->getAmount(), []);
$nowPrice = $block->renderAmount($finalPriceModel->getAmount(), []);

你应该使用

$wasPrice = $priceModel->getValue();
$nowPrice = $finalPriceModel->getValue();

$priceModel 和 $finalPriceModel 引用 /** @var \Magento\Framework\Pricing\Price\PriceInterface $priceModel */正如您在 final_price.phtml 的第 17 行中看到的

然后在 PriceInterface.php 内部,我们将看到 getAmount() 返回一个对象,而 getValue() 只返回一个数字。

/**
* Get price value
*
* @return float
*/
public function getValue();

/**
* Get Price Amount object
*
* @return AmountInterface
*/
public function getAmount();

关于php - 我如何显示在 Magento 2 中节省的金额?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36216108/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com