Jump to content

Aantal aanbiedingen max. 1 op homepage


Recommended Posts

Hallo,

 

Ik heb een aantal aanbiedingen die ik graag wil presteren op mijn homepage. Alleen toont prestashop er maximaal 1. Ik kan ook nergens in de configuratie vinden hoe ik dit aantal kan verhogen (zoals bv bij 'aanbevolen producten'). 

 

Weet iemand waar dit staat?

 

Graag hoor ik! Alvast dank. 

Link to comment
Share on other sites

Ah ok... nou, dat is verhelderend. Hoef ik ook niet meer verder te zoeken.

 

Heb je misschien een suggestie voor hoe ik dit anders zou kunnen oplossen (heb je tip voor een alternatieve module) Of kan ik iets in de code aanpassen.. maybe?

 

Dank voor het meedenken.

Link to comment
Share on other sites

Ah ok... nou, dat is verhelderend. Hoef ik ook niet meer verder te zoeken.

 

Heb je misschien een suggestie voor hoe ik dit anders zou kunnen oplossen (heb je tip voor een alternatieve module) Of kan ik iets in de code aanpassen.. maybe?

 

Dank voor het meedenken.

Dat kan.

Ten eerste kun je het aantal aanbiedingen wat uit de database opgehaald word door de module aanpassen door in het bestand /modules/blockspecials/blockspecials.php op regel 106 met


public function hookRightColumn($params)
{
if (Configuration::get('PS_CATALOG_MODE'))
return;
 
// We need to create multiple caches because the products are sorted randomly
$random = date('Ymd').'|'.round(rand(1, max(Configuration::get('BLOCKSPECIALS_NB_CACHES'), 1)));
 
if (!Configuration::get('BLOCKSPECIALS_NB_CACHES') || !$this->isCached('blockspecials.tpl', $this->getCacheId('blockspecials|'.$random)))
{
if (!($specials = Product::getRandomSpecial((int)$params['cookie']->id_lang)) && !Configuration::get('PS_BLOCK_SPECIALS_DISPLAY'))
return;
 
$this->smarty->assign(array(
'special' => $special,
'priceWithoutReduction_tax_excl' => Tools::ps_round($special['price_without_reduction'], 2),
'mediumSize' => Image::getSize(ImageType::getFormatedName('medium')),
));
}
 
return $this->display(__FILE__, 'blockspecials.tpl', $this->getCacheId('blockspecials|'.$random));
}

te vervangen voor:

public function hookRightColumn($params)
{
if (Configuration::get('PS_CATALOG_MODE'))
return;
 
// We need to create multiple caches because the products are sorted randomly
$random = date('Ymd').'|'.round(rand(1, max(Configuration::get('BLOCKSPECIALS_NB_CACHES'), 1)));
 
if (!Configuration::get('BLOCKSPECIALS_NB_CACHES') || !$this->isCached('blockspecials.tpl', $this->getCacheId('blockspecials|'.$random)))
{
if (!($specials = Product::getPricesDrop((int)$params['cookie']->id_lang, 0, 3, false, 'date_upd')) && !Configuration::get('PS_BLOCK_SPECIALS_DISPLAY'))
return;
 
foreach($specials as &$special)
{
$special['priceWithoutReduction_tax_excl'] = Tools::ps_round($special['price_without_reduction'], 2);
}
 
$this->smarty->assign(array(
'specials' => $specials,
'mediumSize' => Image::getSize(ImageType::getFormatedName('medium')),
));
}
 
return $this->display(__FILE__, 'blockspecials.tpl', $this->getCacheId('blockspecials|'.$random));
}

Waarbij 3 het aantal op te halen producten is.

 

 

Om vervolgens in de template voor blockspecials (/modules/blockspecials/blockspecials.tpl) een foreach loop in te bouwen om alle opgehaalde aanbiedingen weer te kunnen geven. Vervang

{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')|escape:'html'}" 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')|escape:'html'}" title="{l s='All specials' mod='blockspecials'}">» {l s='All specials' mod='blockspecials'}</a>
</p>
{else}

Voor

{if isset($specials) AND $specials}
{foreach from=$specials item=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')|escape:'html'}" 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=$special.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>
{/foreach}
<p>
<a href="{$link->getPageLink('prices-drop')|escape:'html'}" title="{l s='All specials' mod='blockspecials'}">» {l s='All specials' mod='blockspecials'}</a>
</p>
{else}

Check vervolgens of er een template override bestaat in je theme (/themes/[JOUWTHEMENAAM]/modules/blockspecials/blockspecials.tpl). Zo ja, vervang dezelfde code in dit template bestand als bovenstaande.

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...