Jump to content

Chyba v blockspecials - duplicitní položky


mello

Recommended Posts

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

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

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...