Jump to content

[RESOLU] Remplacer catégorie "Meilleures ventes" par "Promo"


Recommended Posts

Hello

 

J'ai regardé un petit peu, et pour greffé le module, il faut ajouter quelque ligne de code dans "BlockSpecials.php"

rajouter ça à la ligne 63
&& $this->registerHook('displayHomeTab')
&& $this->registerHook('displayHomeTabContent')

Et ça à la ligne 151

public function hookdisplayHomeTab($params)
    {
        $this->_clearCache('blockspecials.tpl');
    }
    
    public function hookdisplayHomeTabContent($params)
    {
        $this->_clearCache('blockspecials.tpl');
    }

Ensuite le module se greffe bien, mais cela n'affiche rien non plus.
Et a y regarder de plus près, sur le module blocknewproducts et blockbestsellers, il y a un fichier spécial pour le Home en .tpl
"blocknewproducts-home.tpl" et "blockbestsellers-home.tpl"
Et je pense que cela ne doit pas être anodin.

Link to comment
Share on other sites

Bonjour;

 

Les étapes à suivre pour ajouter un onglet "PROMOTIONS" dans la page d'accueil prestashop 1.6.0.6

Les manipulations à faire :

Modification d'un seul fichier : modules/blockspecials/blockspecials.php

Création de deux fichiers tpl dans le dossier du module (modules/blockspecials/)

blockspecials-tab.tpl

blockspecials-home.tpl

 

 

1- Afin de griffer le module "PROMOTIONS" dans les displayHomeTab et displayHomeTabContent;

 a-Remplacer le code (dans blockspecials.phpà) suivant :

        if ((!$theme->default_right_column || !$this->registerHook('rightColumn'))
                   && ( !$theme->default_left_column || !$this->registerHook('leftColumn')))  

            PAR:

        if ((!$theme->default_right_column || !$this->registerHook('rightColumn'))
                      && ( !$theme->default_left_column || !$this->registerHook('leftColumn'))
                      && ( !$this->registerHook('hookDisplayHomeTab'))
                      && ( !$this->registerHook('hookDisplayHomeTabContent')))

b-Coller ces deux fonctions dans le même fichier après les fonctions de hook:

        public function hookDisplayHomeTab($params)
        {
               return $this->display(__FILE__, 'blockspecials-tab.tpl',$this->getCacheId('blockspecials'));
        }
        public function hookDisplayHomeTabContent($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-home.tpl', $this->getCacheId('blockspecials|'.$random)))
                     {
                      if (!($specials = Product::getPricesDrop((int)$params['cookie']->id_lang, 0, 5)) && !Configuration::get('PS_BLOCK_SPECIALS_DISPLAY'))
                           return;
                      if (!($products = $specials))
                           return;
                      $this->smarty->assign(array(
                                   'specials' => $specials,
                                   'products' => $products,
                                   'mediumSize' => Image::getSize(ImageType::getFormatedName('medium')),
                                    ));

                    }
                   return $this->display(__FILE__, 'blockspecials-home.tpl', $this->getCacheId('blockspecials|'.$random));
        }

2- Le contenu du fichier blockspecials-tab.tpl

<!-- MODULE TAB Block specials  -->
{counter name=active_li assign=active_li}
<li><a data-toggle="tab" href="#blockspecials" class="blockspecials {if $active_li == 1}active{/if}">{l s='Specials' mod='blockspecials'}</a></li>

<!-- /MODULE TAB Block specials -->

3- Le contenu du fichier blockspecials-home.tpl

<!-- MODULE HOME Block specials  -->
{counter name=active_ul assign=active_ul}
<div id="blockspecials" class="blockspecials tab-pane block products_block block_content toggle_content" >
   {if $specials }
        <div class="block_content">
             {include file="$tpl_dir./prices-drop.tpl" products=$products}
        </div>
   {else}
        <p>{l s='No product specials are available at this time.' mod='blockspecials'}</p>
   {/if}

 </div>
<!-- /MODULE HOME Block specials -->

ATTENTION:

 

Avant toutes modifications sauvegarder un copie des fichiers d'origine (exemple : blockspecials.php en blockspecials.php.ORIGINE )

 

Bon dimanche à tous !!

Said

EDIT:

Prise écran du résultat:

post-668076-0-01542200-1415488409_thumb.png

post-668076-0-69823100-1415488968_thumb.png

post-668076-0-95907800-1415494916_thumb.png

Edited by S-HAMMANI (see edit history)
  • Like 2
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...