syl Posted September 24, 2012 Share Posted September 24, 2012 (edited) Bonjour, voilà, très simple surement, le titre est parlant. Je souhaiterais que les nouveaux produits s'affichent directement lorsqu'on arrive sur le site en page d'accueil, un peu comme les produits phares ou bien lorsqu'on est dans la rubrique "tous nos nouveaux produits". C'est surement très simple, mais n'ai rien vu concernant ceci. Merci pour vos futures réponses. Edited September 24, 2012 by syl (see edit history) Link to comment Share on other sites More sharing options...
syl Posted September 26, 2012 Author Share Posted September 26, 2012 Pas de réponse... Apparemment c'est pas si simple que ça ... Link to comment Share on other sites More sharing options...
Rocou Posted September 26, 2012 Share Posted September 26, 2012 Il me semble qu'il suffit d'activer et de configurer le bloc "nouveaux produits". Chez moi ça fonctionne avec la version 1.4.6.2 de Prestashop. Onglet "modules" puis "fonctionnalités front office" Link to comment Share on other sites More sharing options...
syl Posted September 26, 2012 Author Share Posted September 26, 2012 Oui c'est exact. Mais je souhaiterais avoir plus qu'un simple bloc, pour bien faire, il faudrait que ce soit un affichage comme si on était dans une catégorie Ou bien, le même affichage que "produits phares", mais avec les produits nouveaux. Link to comment Share on other sites More sharing options...
calindoudou Posted September 27, 2012 Share Posted September 27, 2012 je suis preneur de la solution également. Link to comment Share on other sites More sharing options...
syl Posted October 12, 2012 Author Share Posted October 12, 2012 @calindoudou: trouvé? Link to comment Share on other sites More sharing options...
diegoooaaal Posted October 26, 2012 Share Posted October 26, 2012 Up ! Preneur aussi de la solution ! Link to comment Share on other sites More sharing options...
Hakunamatata Posted February 20, 2013 Share Posted February 20, 2013 Up, intéressé aussi, merci Link to comment Share on other sites More sharing options...
Bondaty and Co Posted February 21, 2013 Share Posted February 21, 2013 (edited) Dans votre module homefeatured (sauvegardez vos fichiers sources avant), 1.5: dans le php à public function hookDisplayHome($params) ajouter $newProducts = Product::getNewProducts((int)($params['cookie']->id_lang), 0, ($nb ? $nb : 6)); et dans le assign smarty: 'new_products' => $newProducts, ensuite dans le tpl: à la place de {l s='Featured products' mod='homefeatured'} {l s='News product' mod='homefeatured'} à la place de {if isset($products) AND $products} {if $new_products AND $new_products} à la place de {assign var='nbLi' value=$products|@count} {assign var='nbLi' value=$new_products|@count} à la place de {foreach from=$products item=product name=homeFeaturedProducts} {foreach from=$new_products item=product name=homeFeaturedProducts} Ca devrait le faire Edited February 21, 2013 by Muche (see edit history) Link to comment Share on other sites More sharing options...
@markito Posted February 27, 2013 Share Posted February 27, 2013 Bonjour, excellent comme solution merci merci ça m'a vraiment dépanné... Par contre j'ai essayé de faire la même chose pour les promo ou les exclu web mais ca ne marche pas Il y a une solution ? Si il y a une solution, mon idée était d'afficher Avec l'aide de plusieurs homefeatured 1- Coup de coeur (mais la il faudrait que je puisse les sélectionner par moi même je ne connais par de module qui fait ça !) 2- Nouveautés (Ça c'est réglé grâce à votre solution) 3- Offres spéciales (Ca j'ai tenté avec votre solution ça ne fonctionne pas !) en prenant 'special' => $special, j'ai aussi tenté 'productsViewedObj' => $productsViewedObj, sans succès ! 4- Vous aimerez aussi Si je pouvais avoir c'est 4 possibilité ça serai nickel pour moi ;-) Merci pour vos piste sur ce sujet Link to comment Share on other sites More sharing options...
Bondaty and Co Posted March 3, 2013 Share Posted March 3, 2013 Allez, pour les promos: php $pricesDrop = Product::getPricesDrop((int)($params['cookie']->id_lang), 0, ($nb ? $nb : 6)); 'prices_drop' => $pricesDrop, 'priceWithoutReduction_tax_excl'=>Tools::ps_round($pricesDrop['price_without_reduction'], 2), tpl: comme pour les nouveautés: $prices_drop Link to comment Share on other sites More sharing options...
@markito Posted March 3, 2013 Share Posted March 3, 2013 Merci Muche ! C'est super sympa... 1 Link to comment Share on other sites More sharing options...
cyntoch Posted April 13, 2013 Share Posted April 13, 2013 Bonjour, J'ai fait les changements mais rien n'a changé sur mon site voici mon fichier modifié, pouvez-vous me dire ou est mon erreur: Dans le php: <?php /* * 2007-2013 PrestaShop * * NOTICE OF LICENSE * * This source file is subject to the Academic Free License (AFL 3.0) * that is bundled with this package in the file LICENSE.txt. * It is also available through the world-wide-web at this URL: * http://opensource.org/licenses/afl-3.0.php * If you did not receive a copy of the license and are unable to * obtain it through the world-wide-web, please send an email * to [email protected] so we can send you a copy immediately. * * DISCLAIMER * * Do not edit or add to this file if you wish to upgrade PrestaShop to newer * versions in the future. If you wish to customize PrestaShop for your * needs please refer to http://www.prestashop.com for more information. * * @author PrestaShop SA <[email protected]> * @copyright 2007-2013 PrestaShop SA * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) * International Registered Trademark & Property of PrestaShop SA */ if (!defined('_PS_VERSION_')) exit; class HomeFeatured extends Module { private $_html = ''; private $_postErrors = array(); function __construct() { $this->name = 'homefeatured'; $this->tab = 'front_office_features'; $this->version = '0.9'; $this->author = 'PrestaShop'; $this->need_instance = 0; parent::__construct(); $this->displayName = $this->l('Featured products on the homepage.'); $this->description = $this->l('Displays featured products in the middle of your homepage.'); } function install() { if (!Configuration::updateValue('HOME_FEATURED_NBR', 8) || !parent::install() || !$this->registerHook('displayHome') || !$this->registerHook('header')) return false; return true; } public function getContent() { $output = '<h2>'.$this->displayName.'</h2>'; if (Tools::isSubmit('submitHomeFeatured')) { $nbr = (int)(Tools::getValue('nbr')); if (!$nbr OR $nbr <= 0 OR !Validate::isInt($nbr)) $errors[] = $this->l('An invalid number of products has been specified.'); else Configuration::updateValue('HOME_FEATURED_NBR', (int)($nbr)); if (isset($errors) AND sizeof($errors)) $output .= $this->displayError(implode('<br />', $errors)); else $output .= $this->displayConfirmation($this->l('Your settings have been updated.')); } return $output.$this->displayForm(); } public function displayForm() { $output = ' <form action="'.Tools::safeOutput($_SERVER['REQUEST_URI']).'" method="post"> <fieldset><legend><img src="'.$this->_path.'logo.gif" alt="" title="" />'.$this->l('Settings').'</legend> <p>'.$this->l('To add products to your homepage, simply add them to the "home" category.').'</p><br /> <label>'.$this->l('Define the number of products to be displayed.').'</label> <div class="margin-form"> <input type="text" size="5" name="nbr" value="'.Tools::safeOutput(Tools::getValue('nbr', (int)(Configuration::get('HOME_FEATURED_NBR')))).'" /> <p class="clear">'.$this->l('Define the number of products that you would like to display on homepage (default: 10).').'</p> </div> <center><input type="submit" name="submitHomeFeatured" value="'.$this->l('Save').'" class="button" /></center> </fieldset> </form>'; return $output; } public function hookDisplayHeader($params) { $this->hookHeader($params); } public function hookHeader($params) { $this->context->controller->addCSS(($this->_path).'homefeatured.css', 'all'); } public function hookDisplayHome($params) { $newProducts = Product::getNewProducts((int)($params['cookie']->id_lang), 0, ($nb ? $nb : 6)); $category = new Category(Context::getContext()->shop->getCategory(), (int)Context::getContext()->language->id); $nb = (int)(Configuration::get('HOME_FEATURED_NBR')); $products = $category->getProducts((int)Context::getContext()->language->id, 1, ($nb ? $nb : 10)); $this->smarty->assign(array( 'new_products' => $newProducts, 'products' => $products, 'add_prod_display' => Configuration::get('PS_ATTRIBUTE_CATEGORY_DISPLAY'), 'homeSize' => Image::getSize(ImageType::getFormatedName('home')), )); return $this->display(__FILE__, 'homefeatured.tpl'); } } Et dans le tpl: {* * 2007-2013 PrestaShop * * NOTICE OF LICENSE * * This source file is subject to the Academic Free License (AFL 3.0) * that is bundled with this package in the file LICENSE.txt. * It is also available through the world-wide-web at this URL: * http://opensource.org/licenses/afl-3.0.php * If you did not receive a copy of the license and are unable to * obtain it through the world-wide-web, please send an email * to [email protected] so we can send you a copy immediately. * * DISCLAIMER * * Do not edit or add to this file if you wish to upgrade PrestaShop to newer * versions in the future. If you wish to customize PrestaShop for your * needs please refer to http://www.prestashop.com for more information. * * @author PrestaShop SA <[email protected]> * @copyright 2007-2013 PrestaShop SA * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) * International Registered Trademark & Property of PrestaShop SA *} <!-- MODULE Home Featured Products --> <div id="featured-products_block_center" class="block products_block clearfix"> <h4 class="title_block">{l s='News product' mod='homefeatured'}</h4> {if $new_products AND $new_products} <div class="block_content"> {assign var='liHeight' value=250} {assign var='nbItemsPerLine' value=4} {assign var='nbLi' value=$new_products|@count} {math equation="nbLi/nbItemsPerLine" nbLi=$nbLi nbItemsPerLine=$nbItemsPerLine assign=nbLines} {math equation="nbLines*liHeight" nbLines=$nbLines|ceil liHeight=$liHeight assign=ulHeight} <ul style="height:{$ulHeight}px;"> {foreach from=$new_products item=product name=homeFeaturedProducts} {math equation="(total%perLine)" total=$smarty.foreach.homeFeaturedProducts.total perLine=$nbItemsPerLine assign=totModulo} {if $totModulo == 0}{assign var='totModulo' value=$nbItemsPerLine}{/if} <li class="ajax_block_product {if $smarty.foreach.homeFeaturedProducts.first}first_item{elseif $smarty.foreach.homeFeaturedProducts.last}last_item{else}item{/if} {if $smarty.foreach.homeFeaturedProducts.iteration%$nbItemsPerLine == 0}last_item_of_line{elseif $smarty.foreach.homeFeaturedProducts.iteration%$nbItemsPerLine == 1} {/if} {if $smarty.foreach.homeFeaturedProducts.iteration > ($smarty.foreach.homeFeaturedProducts.total - $totModulo)}last_line{/if}"> <a href="{$product.link}" title="{$product.name|escape:html:'UTF-8'}" class="product_image"><img src="{$link->getImageLink($product.link_rewrite, $product.id_image, 'home_default')}" height="{$homeSize.height}" width="{$homeSize.width}" alt="{$product.name|escape:html:'UTF-8'}" />{if isset($product.new) && $product.new == 1}<span class="new">{l s='New' mod='homefeatured'}</span>{/if}</a> <h5 class="s_title_block"><a href="{$product.link}" title="{$product.name|truncate:50:'...'|escape:'htmlall':'UTF-8'}">{$product.name|truncate:35:'...'|escape:'htmlall':'UTF-8'}</a></h5> <div class="product_desc"><a href="{$product.link}" title="{l s='More' mod='homefeatured'}">{$product.description_short|strip_tags|truncate:65:'...'}</a></div> <div> <a class="lnk_more" href="{$product.link}" title="{l s='View' mod='homefeatured'}">{l s='View' mod='homefeatured'}</a> {if $product.show_price AND !isset($restricted_country_mode) AND !$PS_CATALOG_MODE}<p class="price_container"><span class="price">{if !$priceDisplay}{convertPrice price=$product.price}{else}{convertPrice price=$product.price_tax_exc}{/if}</span></p>{else}<div style="height:21px;"></div>{/if} {if ($product.id_product_attribute == 0 OR (isset($add_prod_display) AND ($add_prod_display == 1))) AND $product.available_for_order AND !isset($restricted_country_mode) AND $product.minimal_quantity == 1 AND $product.customizable != 2 AND !$PS_CATALOG_MODE} {if ($product.quantity > 0 OR $product.allow_oosp)} <a class="exclusive ajax_add_to_cart_button" rel="ajax_id_product_{$product.id_product}" href="{$link->getPageLink('cart')}?qty=1&id_product={$product.id_product}&token={$static_token}&add" title="{l s='Add to cart' mod='homefeatured'}">{l s='Add to cart' mod='homefeatured'}</a> {else} <span class="exclusive">{l s='Add to cart' mod='homefeatured'}</span> {/if} {else} <div style="height:23px;"></div> {/if} </div> </li> {/foreach} </ul> </div> {else} <p>{l s='No featured products' mod='homefeatured'}</p> {/if} </div> <!-- /MODULE Home Featured Products --> Merci Link to comment Share on other sites More sharing options...
cyntoch Posted April 15, 2013 Share Posted April 15, 2013 Bonjour, Je remonte le post pour avoir une réponse ;-) Link to comment Share on other sites More sharing options...
Bondaty and Co Posted April 16, 2013 Share Posted April 16, 2013 (edited) Bonjour, Je remonte le post pour avoir une réponse ;-) Vous avez bien fait c'était passé à la trappe. Dans un 1er temps vérifiez si au lieu de Produits phares, vous avez New product ou Nouveaux produits qui s'affiche en Front Office. Si vous avez encore produits phares, c'est que : soit vous n'avez pas forcé la compilation soit vous n'avez pas modifié le bon tpl, ou pas transféré dans le bon dossier Edited April 16, 2013 by Muche (see edit history) Link to comment Share on other sites More sharing options...
FLAVINOU Posted May 31, 2013 Share Posted May 31, 2013 (edited) bonjour, j'ai fait exactement ce qui est noté plus haut par contre le bloc n'est pas centré sur la page il est décalé a gauche, j'ai réussi a le bouger un peut dans : layout.css ligne 30 .homeBlock { padding:60px; clear:both; display:block} j'ai mis le padding a 0 mais c'est pas encore au milieu!! Quelqu'un a une idée? Edited May 31, 2013 by FLAVINOU (see edit history) Link to comment Share on other sites More sharing options...
dagena Posted June 12, 2013 Share Posted June 12, 2013 Bonjour, Déjà merci à Muche pour sa solution, maintenant je voudrais savoir si on pouvez rendre l'affichage de ces produits aléatoire? je l'ai déjà fait avec une catégorie ou les produits s'affiche aléatoirement à chaque actualisation de la page avec bout de code dans le homefeatured.php : public function hookDisplayHome($params) { $category = new Category(6, (int)Context::getContext()->language->id); $nb = (int)(Configuration::get('HOME_FEATURED_NBR')); $products = $category->getProducts((int)Context::getContext()->language->id, 1, ($nb ? $nb : 50),NULL,NULL,false,true,true,($nb ? $nb : 10)); shuffle($products); $this->smarty->assign(array( 'products' => $products, 'add_prod_display' => Configuration::get('PS_ATTRIBUTE_CATEGORY_DISPLAY'), 'homeSize' => Image::getSize(ImageType::getFormatedName('home')), )); return $this->display(__FILE__, 'homefeatured.tpl'); } Mais comment faire pour reproduire la même chose avec les nouveaux produits? Merci d'avance. 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