Salve ragazzi,
ho dei piccoli problemi per quanto riguarda il modulo block special...
Se ho capito bene mostra i prodotti in offerta.
Sono riuscito, sistemando gli hook, a sistemarlo nella parte centrale dell'homepage, e non nella colonna di destra...
Ora nasce un problema, non potendolo configurare da BO il modulo, come posso far mostrare più di un prodotto in offerta?
Grazie anticipatamente, ciao!
ho dei piccoli problemi per quanto riguarda il modulo block special...
Se ho capito bene mostra i prodotti in offerta.
Sono riuscito, sistemando gli hook, a sistemarlo nella parte centrale dell'homepage, e non nella colonna di destra...
Ora nasce un problema, non potendolo configurare da BO il modulo, come posso far mostrare più di un prodotto in offerta?
Grazie anticipatamente, ciao!
Da quanto vedo, usa una funzione random per mostrare l'articolo..
Nessuno che riesce a sistemare la cosa?
edit: ci sono 4 "1" nella funzione.. Uno di quelli forse indica il numero di prodotti da mostrare in home?
Nessuno che riesce a sistemare la cosa?
edit: ci sono 4 "1" nella funzione.. Uno di quelli forse indica il numero di prodotti da mostrare in home?
Ciao ragazzi io sono alle prime armi...
vorrei sapere solo come posso aumentare il numero di prodotti in offerta
visualizzati nella pagina iniziale ( lasciando invariata la loro posizione)
PS* adesso me ne visualizza solo 1 , per gli altri devo cliccare sul
pulsante sotto : visualizza tutte ele offerte.
BYE BYE
;-P
vorrei sapere solo come posso aumentare il numero di prodotti in offerta
visualizzati nella pagina iniziale ( lasciando invariata la loro posizione)
PS* adesso me ne visualizza solo 1 , per gli altri devo cliccare sul
pulsante sotto : visualizza tutte ele offerte.
BYE BYE
;-P
Salve,
Forse a qualcuno potrebbe interessare:
Prestashop Versione 1.4.4.0
File: classes/Product.php
Funzione: getRandomSpecial()
Tip: Invece di prendere un prodotto a random, modifichiamo la prima query per individuare diversi "id" (non solo uno) dei prodotti speciali a random e poi construiamo la seconda query con un numero limitato degli "id" presi prima (nel esempio lo limitiamo a 5, la prima variabile dichiarata)
File: modules/blockspecials.php
Funzione: hookRightColumn()
Tip: cambiata la variabile "special" per "specials"
File: themes/"yourtheme"/modules/blockspecials/blockspecials.tpl
Funzione: getRandomSpecial()
Tip: usiamo un foreach per percorrere i prodotti speciali e stamparli
Forse a qualcuno potrebbe interessare:
Prestashop Versione 1.4.4.0
File: classes/Product.php
Funzione: getRandomSpecial()
Tip: Invece di prendere un prodotto a random, modifichiamo la prima query per individuare diversi "id" (non solo uno) dei prodotti speciali a random e poi construiamo la seconda query con un numero limitato degli "id" presi prima (nel esempio lo limitiamo a 5, la prima variabile dichiarata)
public static function getRandomSpecial($id_lang, $beginning = false, $ending = false)
{
// Numero di prodotti RandomSpecial da visualizzare nell'homepage
$Numero_Prodotti_Speciali = 5;
$currentDate = date('Y-m-d H:i:s');
$ids_product = self::_getProductIdByDate((!$beginning ? $currentDate : $beginning), (!$ending ? $currentDate : $ending));
$groups = FrontController::getCurrentCustomerGroups();
$sqlGroups = (count($groups) ? 'IN ('.implode(',', $groups).')' : '= 1');
// Please keep 2 distinct queries because RAND() is an awful way to achieve this result
$sql = '
SELECT p.id_product
FROM `'._DB_PREFIX_.'product` p
WHERE 1
AND p.`active` = 1
AND p.`id_product` IN ('.implode(', ', $ids_product).')
AND p.`id_product` IN (
SELECT cp.`id_product`
FROM `'._DB_PREFIX_.'category_group` cg
LEFT JOIN `'._DB_PREFIX_.'category_product` cp ON (cp.`id_category` = cg.`id_category`)
WHERE cg.`id_group` '.$sqlGroups.'
)
ORDER BY RAND()';
$id_products = array();
if ($results = Db::getInstance(_PS_USE_SQL_SLAVE_)->ExecuteS($sql))
foreach ($results as $row)
$id_products[] = $row['id_product'];
$rowsql = 'SELECT p.*, pl.`description`, pl.`description_short`, pl.`link_rewrite`, pl.`meta_description`, pl.`meta_keywords`, pl.`meta_title`, pl.`name`, p.`ean13`, p.`upc`,
i.`id_image`, il.`legend`, t.`rate`
FROM `'._DB_PREFIX_.'product` p
LEFT JOIN `'._DB_PREFIX_.'product_lang` pl ON (p.`id_product` = pl.`id_product` AND pl.`id_lang` = '.(int)($id_lang).')
LEFT JOIN `'._DB_PREFIX_.'image` i ON (i.`id_product` = p.`id_product` AND i.`cover` = 1)
LEFT JOIN `'._DB_PREFIX_.'image_lang` il ON (i.`id_image` = il.`id_image` AND il.`id_lang` = '.(int)($id_lang).')
LEFT JOIN `'._DB_PREFIX_.'tax_rule` tr ON (p.`id_tax_rules_group` = tr.`id_tax_rules_group`
AND tr.`id_country` = '.(int)Country::getDefaultCountryId().'
AND tr.`id_state` = 0)
LEFT JOIN `'._DB_PREFIX_.'tax` t ON (t.`id_tax` = tr.`id_tax`)
WHERE';
// Loop per inserire gli "id" dei prodotti con il limite impostato all'inizio della funzione
$i = 0;
foreach ($id_products as $id_product) {
$rowsql .= " p.id_product = ".(int)$id_product." ||";
if (++$i == $Numero_Prodotti_Speciali) break;
}
// Togliamo gli ultimi due caratteri alla fine della stringa = ||
$rowsql = substr($rowsql, 0, -2);
$result = Db::getInstance(_PS_USE_SQL_SLAVE_)->ExecuteS($rowsql);
if (!$result)
return false;
// Ritorniamo un array di prodotti con le sue proprietà, invece di un solo prodotto
return Product::getProductsProperties($id_lang, $result);
}
File: modules/blockspecials.php
Funzione: hookRightColumn()
Tip: cambiata la variabile "special" per "specials"
public function hookRightColumn($params)
{
if (Configuration::get('PS_CATALOG_MODE'))
return ;
global $smarty;
if (!$specials = Product::getRandomSpecial((int)($params['cookie']->id_lang)) AND !Configuration::get('PS_BLOCK_SPECIALS_DISPLAY'))
return;
$smarty->assign(array(
'specials' => $specials,
'mediumSize' => Image::getSize('medium')
));
return $this->display(__FILE__, 'blockspecials.tpl');
}
File: themes/"yourtheme"/modules/blockspecials/blockspecials.tpl
Funzione: getRandomSpecial()
Tip: usiamo un foreach per percorrere i prodotti speciali e stamparli
<!-- MODULE Block specials MODIFICATO-->
<div id="special_block_right" class="block products_block exclusive blockspecials">
<h4><a href="{$link->getPageLink('prices-drop.php')}" title="{l s='Specials' mod='blockspecials'}">{l s='Specials' mod='blockspecials'}</a></h4>
<div class="block_content">
{if $specials}
<div id="forspecial">
{foreach from=$specials item=special name=products} <!-- nuovo -->
<a href="{$special.link}">
<ul class="products">
<li class="product_image">
<img src="{$link->getImageLink($special.link_rewrite, $special.id_image, 'medium')}" alt="{$special.legend|escape:html:'UTF-8'}" height="{$mediumSize.height}" width="{$mediumSize.width}" title="{$special.name|escape:html:'UTF-8'}" />
</li>
<li>
<h5>{$special.name|escape:html:'UTF-8'}</h5>
<span class="price-discount">{displayWtPrice p=$special.price_without_reduction}</span>
{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">(-{$specific_prices.reduction*100|floatval}%)</span>
{/if}
{/if}
<span class="price">{if !$priceDisplay}{displayWtPrice p=$special.price}{else}{displayWtPrice p=$special.price_tax_exc}{/if}</span>
</li>
</ul>
</a>
{/foreach} <!-- nuovo -->
<p>
<a href="{$link->getPageLink('prices-drop.php')}" title="{l s='All specials' mod='blockspecials'}" class="button_large">{l s='All specials' mod='blockspecials'}</a>
</p>
{else}
<p>{l s='No specials at this time' mod='blockspecials'}</p></div>
{/if}
</div>
</div>
<!-- /MODULE Block specials MODIFICATO-->
Ciao GIG,
Ecco l'immagine. Come si vede i prodotti speciali sono nella colonna destra:

Saluti.
Supialus
Ecco l'immagine. Come si vede i prodotti speciali sono nella colonna destra:

Saluti.
Supialus
Ciao Supialus, forse puoi aiutarmi .. sto utilizzando prestashop con il suo tema base, e la lista dei prodotti mi viene visualizzata in verticale.
Come posso fare per fare visualizzare la lista prodotti uno di fianco all'altro e poi a capo come nell'immagine che hai postato tu?
Grazie anticipatamente
Ciao
Come posso fare per fare visualizzare la lista prodotti uno di fianco all'altro e poi a capo come nell'immagine che hai postato tu?
Grazie anticipatamente
Ciao
Thanks a lot for your post. I used it in 1.4.5.1 and to display corectly the products, File: themes/"yourtheme"/modules/blockspecials/blockspecials.tpl should be:
<!-- MODULE Block specials -->
<div id="special_block_right" class="block products_block exclusive blockspecials">
<h4><a href="{$link->getPageLink('prices-drop.php')}" title="{l s='Promotii' mod='blockspecials'}">{l s='Promotii' mod='blockspecials'}</a></h4>
<div class="block_content">
{if $specials}
<ul class="products">
{foreach from=$specials item=special name=products}
<li class="product_image">
<a href="{$special.link}"><img src="{$link->getImageLink($special.link_rewrite, $special.id_image, 'medium')}" alt="{$special.legend|escape:html:'UTF-8'}" height="{$mediumSize.height}" width="{$mediumSize.width}" title="{$special.name|escape:html:'UTF-8'}" /></a>
</li>
<li>
<h5><a href="{$special.link}" title="{$special.name|escape:html:'UTF-8'}">{$special.name|escape:html:'UTF-8'}</a></h5>
<span class="price-discount">{if !$priceDisplay}{displayWtPrice p=$special.price_without_reduction}{else}{displayWtPrice p=$priceWithoutReduction_tax_excl}{/if}</span>
{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">(-{$specific_prices.reduction*100|floatval}%)</span>
{/if}
{/if}
<span class="price">{if !$priceDisplay}{displayWtPrice p=$special.price}{else}{displayWtPrice p=$special.price_tax_exc}{/if}</span>
</li>
<div style="clear:both;"></div>
{/foreach}
</ul>
<p>
<a href="{$link->getPageLink('prices-drop.php')}" title="{l s='All specials' mod='blockspecials'}" class="button_large">{l s='All specials' mod='blockspecials'}</a>
</p>
{else}
<p>{l s='No specials at this time' mod='blockspecials'}</p>
{/if}
</div>
</div>
<!-- /MODULE Block specials -->
Any chance to add short description as well?? I tried copy/paste the homefeatured.tpl snippet {$product.description_short} and is not working, can't figure it out...
[SOLVED]
http://www.prestasho...945#entry708945
-------------------------------------------------------------------------------------------------
Now, how to place an Add to Cart button for each product within this Specials loop??
[SOLVED]
http://www.prestasho...945#entry708945
-------------------------------------------------------------------------------------------------
Now, how to place an Add to Cart button for each product within this Specials loop??
Ciao a tutti, ho fatto alcune prove ma non riesco ad ottenere il rislutato voluto, probabilmente
sbaglio da qualche parte nell'inserire il codice da voi gentilmenete fornito.
Potete mettere in allegato i vostri files gia' modificati ?
product.php
blockspecials.php
blockspecials.tpl
PS. la mia ver. di prestashop è 1.4.4.1
Ciao
GIG.
sbaglio da qualche parte nell'inserire il codice da voi gentilmenete fornito.
Potete mettere in allegato i vostri files gia' modificati ?
product.php
blockspecials.php
blockspecials.tpl
PS. la mia ver. di prestashop è 1.4.4.1
Ciao
GIG.
Been looking for something like this. Worked brilliantly and first time! Many thanks, supialus
Prestashop Store Design and Development at www.hoonadesigns.com



Back to top









