mello Posted August 20, 2013 Share Posted August 20, 2013 Ahoj, na Preste 1.5.3.1 používám už půl roku blockspecials, který jsem upravil tak, aby se v bloku zobrazovali 2 zlevněné výrobky. Vše fungovalo skvěle až dodnes. Produkty se začly duplikovat a vždy se zobrazují duplikovaně. Ošetřeno jsem to v kódu neměl ani předtím (nevím jak), ale duplikace se objevila jen někdy. Je záhadou proč se tak najednou děje, protože jsem v eshopu nic neupravoval ani nepřidával moduly... Máte nějaké řešení jak duplikaci odstranit? Na chybu se můžete podívat zde, vpravo nahoře: http://www.svet-tabletu.cz Upravený kód v "blockspecials.php" public function hookRightColumn($params) { if (Configuration::get('PS_CATALOG_MODE')) return ; if (!($special = Product::getRandomSpecial((int)$params['cookie']->id_lang)) && !Configuration::get('PS_BLOCK_SPECIALS_DISPLAY')) return; if (!($special2 = Product::getRandomSpecial((int)$params['cookie']->id_lang)) && !Configuration::get('PS_BLOCK_SPECIALS_DISPLAY')) return; $this->smarty->assign(array( 'special' => $special, 'special2' => $special2, 'priceWithoutReduction_tax_excl' => Tools::ps_round($special['price_without_reduction'], 2), 'mediumSize' => Image::getSize(ImageType::getFormatedName('medium')), )); return $this->display(__FILE__, 'blockspecials.tpl'); } A upravený kód v "blockspecials.tpl" {if $special} <ul class="products clearfix"> <li class="product_image"> <a href="{$special.link}"><img src="{$link->getImageLink($special.link_rewrite, $special.id_image, 'medium_default')}" alt="{$special.legend|escape:html:'UTF-8'}" height="{$mediumSize.height}" width="{$mediumSize.width}" title="{$special.name|escape:html:'UTF-8'}" /></a> </li> <li> {if !$PS_CATALOG_MODE} {if $special.specific_prices} {assign var='specific_prices' value=$special.specific_prices} {if $specific_prices.reduction_type == 'percentage' && ($specific_prices.from == $specific_prices.to OR ($smarty.now|date_format:'%Y-%m-%d %H:%M:%S' <= $specific_prices.to && $smarty.now|date_format:'%Y-%m-%d %H:%M:%S' >= $specific_prices.from))} <span class="reduction"><span>-{$specific_prices.reduction*100|floatval}%</span></span> {/if} {/if} {/if} <h5 class="s_title_block"><a href="{$special.link}" title="{$special.name|escape:html:'UTF-8'}">{$special.name|escape:html:'UTF-8'}</a></h5> {if !$PS_CATALOG_MODE} <span class="price-discount">{if !$priceDisplay}{displayWtPrice p=$special.price_without_reduction}{else}{displayWtPrice p=$priceWithoutReduction_tax_excl}{/if}</span> <span class="price">{if !$priceDisplay}{displayWtPrice p=$special.price}{else}{displayWtPrice p=$special.price_tax_exc}{/if}</span> {/if} </li> </ul> <p> <a href="{$link->getPageLink('prices-drop')}" title="{l s='All specials' mod='blockspecials'}">» {l s='All specials' mod='blockspecials'}</a> </p> {else} <p>{l s='No specials at this time' mod='blockspecials'}</p> {/if} Link to comment Share on other sites More sharing options...
Kimi Posted August 27, 2013 Share Posted August 27, 2013 upravil som to cele aby sa dal dat lubovolny pocet zliav: https://www.dropbox.com/s/vioj8wcpwtexbjp/blockspecials_uprava.zip momentalne nastaveny pocet na 3, menit sa da v subore modules/blockspecials/blockspecials.php riadok 89 pre istotu si prepisovane subory zazalohujte Link to comment Share on other sites More sharing options...
mello Posted September 3, 2013 Author Share Posted September 3, 2013 Zkusil jsem, ale nenaleznou se zlevnene vyrobky. Pise to pouze pod sebou, ze slevy aktualne nejsou. Kde je chyba jsem neodhalil, protoze kod v product.php je uz na me moc slozity. Objevil jsem ale proc se duplikace deje, pokud je zapnuto ukladani cache do pameti serveru. Pokud tuto moznost vypnu, vse jiz funguje a duplikace se objevi jen obcas (neni to totiz osetreno). Pravdepodobne je tedy problem v dotazovani se databaze na slevy pri zapnutem ukladani cache. Link to comment Share on other sites More sharing options...
Kimi Posted September 3, 2013 Share Posted September 3, 2013 cache sa da pri dotazovani vypnut takto: $row = Db::getInstance(_PS_USE_SQL_SLAVE_)->getRow($sql,0); tak to skuste Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now