FleetCart/Modules/Product/helpers.php

40 lines
1.3 KiB
PHP
Raw Normal View History

2023-06-11 12:14:03 +00:00
<?php
use Modules\FlashSale\Entities\FlashSale;
if (! function_exists('product_price_formatted')) {
/**
* Get the selling price of the given product.
*
* @param \Modules\Product\Entities\Product $product
* @param \Closure $callback
* @return string
*/
function product_price_formatted($product, $callback = null)
{
if (FlashSale::contains($product)) {
$previousPrice = $product->getSellingPrice()->convertToCurrentCurrency()->format();
$flashSalePrice = FlashSale::pivot($product)->price->convertToCurrentCurrency()->format();
if (is_callable($callback)) {
return $callback($flashSalePrice, $previousPrice);
}
return "{$flashSalePrice} <span class='previous-price'>{$previousPrice}</span>";
}
$price = $product->price->convertToCurrentCurrency()->format();
$specialPrice = $product->getSpecialPrice()->convertToCurrentCurrency()->format();
if (is_callable($callback)) {
return $callback($price, $specialPrice);
}
if (! $product->hasSpecialPrice()) {
return $price;
}
return "{$specialPrice} <span class='previous-price'>{$price}</span>";
}
}