Refactor Hook class to improve Page Cache integration
This commit is contained in:
@@ -554,7 +554,7 @@ class Gm_OmniPrice extends Module
|
||||
$output .= $this->l('Default country ID:').' '.$this->defaultCountryId.'<br/>';
|
||||
$output .= $this->l('Default group ID:').' '.$this->defaultGroupId.'<br/>';
|
||||
|
||||
$shopIds = $this->getShopsIds();
|
||||
$shopIds = [1];//$this->getShopsIds();
|
||||
$useReduction = true;
|
||||
if (Tools::isSubmit('init')) {
|
||||
$useReduction = false;
|
||||
@@ -1131,6 +1131,21 @@ class Gm_OmniPrice extends Module
|
||||
$previousPrice = $lowestCachedPrice['raw'];
|
||||
$realDiscount = $this->calculateRealDisount($currentPrice, $previousPrice);
|
||||
}
|
||||
|
||||
// Metoda 1: Standardowa dla PrestaShop 1.7+ (tablica)
|
||||
if (isset($hookParams['product']['has_discount']) && $hookParams['product']['has_discount']) {
|
||||
$isDiscounted = true;
|
||||
}
|
||||
// Metoda 2: Bezpośrednie sprawdzenie specificPrice (obiekt) - dla starszych wersji lub innych kontekstów
|
||||
elseif (isset($hookParams['product']->specificPrice) && $hookParams['product']->specificPrice) {
|
||||
$isDiscounted = true;
|
||||
}
|
||||
|
||||
// Jeżeli produkt NIE JEST na promocji, przerywamy działanie funkcji (nie wyświetlamy nic)
|
||||
if (!$isDiscounted) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (!$lowestCachedPrice) {
|
||||
//may have a promotion for an individual combination
|
||||
if (Tools::version_compare(_PS_VERSION_, '1.7.0.0', '<') && $this->hasAttributePrices($productId)) {
|
||||
@@ -1762,6 +1777,14 @@ class Gm_OmniPrice extends Module
|
||||
Db::getInstance()->delete('gm_omniprice_cache', '`id_group` = '.$ignoredGroupId);
|
||||
}
|
||||
}
|
||||
|
||||
// delete from materac_gm_omniprice_cache WHERE column date is older than 30 days
|
||||
Db::getInstance()->delete('gm_omniprice_cache', '`date` < DATE_SUB(NOW(), INTERVAL 60 DAY)');
|
||||
$output .= '<p>Usuwam dane z gm_omniprice_cache</p>';
|
||||
// delete from materac_gm_omniprice_history WHERE column date is older than 30 days
|
||||
Db::getInstance()->delete('gm_omniprice_history', '`date` < DATE_SUB(NOW(), INTERVAL 60 DAY)');
|
||||
$output .= '<p>Usuwam dane z gm_omniprice_history</p>';
|
||||
|
||||
$date = date("Y-m-d", strtotime("-".$this->daysBack." days"));
|
||||
$output .= $this->l('Period').': '.$this->daysBack.' ('.$date.')<br/>';
|
||||
$shopIds = $this->getShopsIds();
|
||||
|
||||
Reference in New Issue
Block a user