Jump to content
chinouk

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. 

Share this post


Link to post
Share on other sites

Weet iemand waar dit staat?

Ja....dat staat nergens.

Standaard, in Prestashop 1.5.6, word er willekeurig 1 aanbieding uitgekozen en weergegeven op de frontoffice.

Wil je meerdere aanbiedingen weergeven zul je een andere of aangepaste module moeten gebruiken.

Share this post


Link to post
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.

Share this post


Link to post
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.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...

Important Information

Cookies ensure the smooth running of our services. Using these, you accept the use of cookies. Learn More