hwmenuhorizontal

Comment installer le module

  1. Copier le package (hwmenuhorizontal) dans /modules
  2. Vérifier qu'il n'existe pas de fichier /override/classes/FrontController.php
  3. Si non, copier le fichier FrontController.php (qui se trouve dans le package téléchargé), dans /override/classes/
  4. Si oui, sauter à la rubrique "Le fichier FrontController.php" (ci-dessous)
  5. Dans le fichier /theme/monTheme/header.tpl, copier ceci au-dessus de <div id="columns"> :

             <div id="hwmenuhorizontal">
                    {$HOOK_HWMENUHORIZONTAL}
                </div>

Comment configurer le module

Le module

Le fichier FrontController.php (override)

Nous utilisons la méthode de l'override afin de modifier le comportement du fichier /classes/FontController.php, sans le modifier. Nous allons donc modifier son comportement en plaçant un fichier comportant le même nom, mais uniquement avec les modifications, dans /override/classes/FontController.php. C'est pourquoi, au point 2. il faut controller si le fichier en question existe déjà dans /override/classes/ afin de ne pas écraser des modifications déjà faites précédemment. Si tel en était le cas, éditer ce dernier et ajouter la ligne suivante:

'HOOK_HWMENUHORIZONTAL' => Module::hookExec('hwmenuhorizontal')

Voici un exemple:

<?php
class FrontController extends FrontControllerCore{
    public function displayHeader()
    {
        global $css_files, $js_files;

        if (!self::$initialized)
            $this->init();

        // P3P Policies (http://www.w3.org/TR/2002/REC-P3P-20020416/#compact_policies)
        header('P3P: CP="IDC DSP COR CURa ADMa OUR IND PHY ONL COM STA"');

        /* Hooks are volontary out the initialize array (need those variables already assigned) */
        self::$smarty->assign(array(
            'time' => time(),
            'img_update_time' => Configuration::get('PS_IMG_UPDATE_TIME'),
            'static_token' => Tools::getToken(false),
            'token' => Tools::getToken(),
            'logo_image_width' => Configuration::get('SHOP_LOGO_WIDTH'),
            'logo_image_height' => Configuration::get('SHOP_LOGO_HEIGHT'),
            'priceDisplayPrecision' => _PS_PRICE_DISPLAY_PRECISION_,
            'content_only' => (int)Tools::getValue('content_only')
        ));
        self::$smarty->assign(array(
            'HOOK_HEADER' => Module::hookExec('header'),
            'HOOK_TOP' => Module::hookExec('top'),
            'HOOK_LEFT_COLUMN' => Module::hookExec('leftColumn'),
            'HOOK_HWMENUHORIZONTAL' => Module::hookExec('hwmenuhorizontal')
        ));

        if ((Configuration::get('PS_CSS_THEME_CACHE') OR Configuration::get('PS_JS_THEME_CACHE')) AND is_writable(_PS_THEME_DIR_.'cache'))
        {
            // CSS compressor management
            if (Configuration::get('PS_CSS_THEME_CACHE'))
                Tools::cccCss();

            //JS compressor management
            if (Configuration::get('PS_JS_THEME_CACHE'))
                Tools::cccJs();
        }

        self::$smarty->assign('css_files', $css_files);
        self::$smarty->assign('js_files', array_unique($js_files));
        self::$smarty->display(_PS_THEME_DIR_.'header.tpl');
    }
}
?>