feat: Enhance price comparison logic and improve code formatting
This commit is contained in:
@@ -1376,7 +1376,10 @@ class Gm_OmniPrice extends Module
|
||||
];
|
||||
}
|
||||
}
|
||||
if ($lowestCachedPrice)
|
||||
|
||||
$checkIfProductIsDiscounted = self::checkIfProductIsDiscounted($this->getDiscountedProductIds($params['id_shop'], $params['id_currency'], $params['id_country'], $params['id_group']), $productId, $params['id_product_attribute']);
|
||||
|
||||
if ( $lowestCachedPrice and $checkIfProductIsDiscounted )
|
||||
{
|
||||
$this->context->smarty->assign(
|
||||
[
|
||||
@@ -1478,8 +1481,8 @@ class Gm_OmniPrice extends Module
|
||||
|
||||
protected function getLatestHistoricalPrice($params)
|
||||
{
|
||||
$price_1 = Product::getPriceStatic( $params['id_product'], true, $params['id_product_attribute'], 2, null, false, false );
|
||||
$price_2 = Product::getPriceStatic( $params['id_product'], true, $params['id_product_attribute'], 2, null, false, true );
|
||||
$price_1 = Product::getPriceStatic($params['id_product'], true, $params['id_product_attribute'], 2, null, false, false);
|
||||
$price_2 = Product::getPriceStatic($params['id_product'], true, $params['id_product_attribute'], 2, null, false, true);
|
||||
|
||||
$displayMethod = Group::getPriceDisplayMethod($params['id_group']);
|
||||
if ($displayMethod)
|
||||
@@ -1493,7 +1496,7 @@ class Gm_OmniPrice extends Module
|
||||
$arrayField = 'price_tin';
|
||||
}
|
||||
|
||||
$date_history = date( 'Y-m-d', strtotime( '-30 days', time() ) );
|
||||
$date_history = date('Y-m-d', strtotime('-30 days', time()));
|
||||
|
||||
$prices = Db::getInstance()->executeS(
|
||||
'SELECT ' . $field . ', `is_specific_price`'
|
||||
@@ -1509,39 +1512,39 @@ class Gm_OmniPrice extends Module
|
||||
|
||||
$price_find = null;
|
||||
|
||||
if ( is_array( $prices ) and count( $prices ) )
|
||||
if (is_array($prices) and count($prices))
|
||||
{
|
||||
foreach ( $prices as $price_tmp )
|
||||
foreach ($prices as $price_tmp)
|
||||
{
|
||||
if ( $price_tmp['is_specific_price'] )
|
||||
if ($price_tmp['is_specific_price'])
|
||||
{
|
||||
if ( round( $price_2 ) != round( $price_tmp['price_tin'] ) )
|
||||
if (round($price_2) != round($price_tmp['price_tin']))
|
||||
{
|
||||
if ( $price_find == null or $price_find > round( $price_tmp['price_tin'] ) )
|
||||
$price_find = round( $price_tmp['price_tin'] );
|
||||
if ($price_find == null or $price_find > round($price_tmp['price_tin']))
|
||||
$price_find = round($price_tmp['price_tin']);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ( $price_find )
|
||||
if ($price_find)
|
||||
{
|
||||
return [
|
||||
'formatted' => $this->getFormattedPrice( $price_find ),
|
||||
'formatted' => $this->getFormattedPrice($price_find),
|
||||
'raw' => $price_find
|
||||
];
|
||||
}
|
||||
|
||||
// echo 'SELECT ' . $field . ', `is_specific_price`'
|
||||
// . ' FROM `' . _DB_PREFIX_ . 'gm_omniprice_history`'
|
||||
// . ' WHERE `id_shop` = ' . $params['id_shop']
|
||||
// . ' AND `id_product` = ' . $params['id_product']
|
||||
// . ' AND `id_currency` = ' . $params['id_currency']
|
||||
// . ' AND `id_country` = ' . $params['id_country']
|
||||
// . ' AND `id_group` = ' . $params['id_group']
|
||||
// . ' AND `id_product_attribute` = ' . $params['id_product_attribute']
|
||||
// . ' AND date >= \'' . $date_history . '\'';
|
||||
// echo '<pre>'; print_r($prices); echo '</pre>';
|
||||
// echo 'SELECT ' . $field . ', `is_specific_price`'
|
||||
// . ' FROM `' . _DB_PREFIX_ . 'gm_omniprice_history`'
|
||||
// . ' WHERE `id_shop` = ' . $params['id_shop']
|
||||
// . ' AND `id_product` = ' . $params['id_product']
|
||||
// . ' AND `id_currency` = ' . $params['id_currency']
|
||||
// . ' AND `id_country` = ' . $params['id_country']
|
||||
// . ' AND `id_group` = ' . $params['id_group']
|
||||
// . ' AND `id_product_attribute` = ' . $params['id_product_attribute']
|
||||
// . ' AND date >= \'' . $date_history . '\'';
|
||||
// echo '<pre>'; print_r($prices); echo '</pre>';
|
||||
// if ((count($prices) == 1) && ($prices[0]['is_specific_price']))
|
||||
// {
|
||||
// return
|
||||
@@ -1574,13 +1577,13 @@ class Gm_OmniPrice extends Module
|
||||
// }
|
||||
// }
|
||||
|
||||
$price_1 = Product::getPriceStatic( $params['id_product'], true, $params['id_product_attribute'], 2, null, false, false );
|
||||
$price_2 = Product::getPriceStatic( $params['id_product'], true, $params['id_product_attribute'], 2, null, false, true );
|
||||
if ( $price_1 != $price_2 )
|
||||
$price_1 = Product::getPriceStatic($params['id_product'], true, $params['id_product_attribute'], 2, null, false, false);
|
||||
$price_2 = Product::getPriceStatic($params['id_product'], true, $params['id_product_attribute'], 2, null, false, true);
|
||||
if ($price_1 != $price_2)
|
||||
return
|
||||
[
|
||||
'formatted' => $this->getFormattedPrice( round( $price_1 ) )
|
||||
];
|
||||
[
|
||||
'formatted' => $this->getFormattedPrice(round($price_1))
|
||||
];
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user