Jump to content

index custom et hook personnalisé


Recommended Posts

Bonjour,

 

Je viens vous demander de l'aide car je bloque sur les hooks personnalisés.

J'ai créé un override du indexController pour afficher ma propre page smarty (totalement custom) donc je ne veux pas du contenu de la boutique type le header et footer que j'ai désactivé et je pense que mes problèmes viennent de là (voir plus bas)

    public function initContent(){
      parent::initContent();
      $this->display_header = false;
      $this->display_footer = false;
      $this->setTemplate(_PS_THEME_DIR_.'restricted-access.tpl');
    }

Puis un override du module homeslider pour enregistrer mon propre hook pour ensuite l'afficher dans ma vue

<?php
if (!defined('_PS_VERSION_'))
    exit;
class HomeSliderOverride extends HomeSlider
{
    public function registerDisplayHeaderMiddleHook()
    {
        return $this->registerHook('displayHeaderMiddle');
    }

    public function hookDisplayHeaderMiddle($params)
    {
        return $this->hookdisplayTopColumn($params);
    }

    public function install()
    {
        parent::install();
        return $this->registerHook('displayHeaderMiddle');
    }
}

et la vue ou je suis obligé d'ajouter les css et JS à la main

<!DOCTYPE html>
<html lang="en">
    <head>
        <title>{$meta_title|escape:'html':'UTF-8'}</title>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        {if isset($meta_description)}
            <meta name="description" content="{$meta_description|escape:'html':'UTF-8'}" />
        {/if}
        {if isset($meta_keywords)}
            <meta name="keywords" content="{$meta_keywords|escape:'html':'UTF-8'}" />
        {/if}
        {if isset($css_files)}
            {foreach from=$css_files key=css_uri item=media}
                <link href="{$css_uri|escape:'html':'UTF-8'}" rel="stylesheet" type="text/css"/>
            {/foreach}
        {/if}
{if isset($js_defer) && !$js_defer && isset($js_files) && isset($js_def)}
    {$js_def}
    {foreach from=$js_files item=js_uri}
    <script type="text/javascript" src="{$js_uri|escape:'html':'UTF-8'}"></script>
    {/foreach}
{/if}
        <meta name="robots" content="{if isset($nobots)}no{/if}index,follow" />
        <link rel="shortcut icon" href="{$favicon_url}" />
    </head>
    <body>
        <div class="container">
        <div class="col-xs-12 col-sm-6">
                    <h1>{$shop_name}</h1>
        </div>
        {hook h="displayHeaderMiddle" mod="homeslider"}
        </div>
        {debug}
{include file="$tpl_dir./global.tpl"}
    </body>
</html>

Mon problème est qu'à ce niveau, il me manque les JS et les css du module, j'ai essayé ça dans mon hook :

        $this->context->controller->addCSS($this->_path.'homeslider.css');
        $this->context->controller->addJS($this->_path.'js/homeslider.js');
        $this->context->controller->addJqueryPlugin(array('bxslider'));

Mais rien n'y fait dans le {debug} de smarty les fichiers ne sont pas présents, sans compter les autres problèmes de variable non définies ..

 

Peux être n'est ce pas la bonne méthode pour créer une page 100% custom en y intégrant des modules existants du store ?

 

Merci

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...