Jump to content

header surchargé non utilisé


jbo14

Recommended Posts

Bonjour,

 

J'ai l'impression qu'il y a un problème dans la fonction display de l'AdminController concernant la gestion des header/footer surchargé ou alors j'ai mal compris un truc sur la surchage des templates...

Pour moi, si un module veut surcharger un template utilisé en back office, on le place dans override/controller/admin/templates/<controller_name>/

 

Dans la version 1.6.1.11

 

Dans le constructeur, on positionne les repertoires de templates suivants
        $this->context->smarty->setTemplateDir(array(
            _PS_BO_ALL_THEMES_DIR_.$this->bo_theme.DIRECTORY_SEPARATOR.'template',
            _PS_OVERRIDE_DIR_.'controllers'.DIRECTORY_SEPARATOR.'admin'.DIRECTORY_SEPARATOR.'templates'
        ));
 
 
    public function display()
    {
...
        // Check if header/footer have been overriden
        $dir = $this->context->smarty->getTemplateDir(0).'controllers'.DIRECTORY_SEPARATOR.trim($this->override_folder, '\\/').DIRECTORY_SEPARATOR;
        $module_list_dir = $this->context->smarty->getTemplateDir(0).'helpers'.DIRECTORY_SEPARATOR.'modules_list'.DIRECTORY_SEPARATOR;
 
...
        $header_tpl = file_exists($dir.'header.tpl') ? $dir.'header.tpl' : 'header.tpl';
        $footer_tpl = file_exists($dir.'footer.tpl') ? $dir.'footer.tpl' : 'footer.tpl';
...
    }

 

=> Dans la fct display, on cherche un fichier surchargé dans le repertoire du thème, donc si un controleur utlise un header (ou un footer) différent de la version de base.

Par contre, on ne va pas vérifier qu'un module a surchargé ce header

 

 

Pourquoi ne pas utiliser le même algo que pour la fonction createTemplate?

Celle-ci teste getTemplateDir(1).DIRECTORY_SEPARATOR.$this->override_folder.$tpl_name

puis getTemplateDir(0).'controllers'.DIRECTORY_SEPARATOR.$this->override_folder.$tpl_name

et utilise par défaut getTemplateDir(0).$tpl_name

 

 

Pour résumé mon pb, j'ai redéfini 2 templates de formulaire, le header et le content.

Ces 2 templates sont installés dans override/controllers/admin/templates/<controller_name>/

Lorsque j'affiche ma page, le template content est bien utilisé, par contre pas le template header

Edited by jbo14 (see edit history)
Link to comment
Share on other sites

  • 4 weeks later...
  • 2 weeks later...

Effectivement : https://www.prestashop.com/forums/topic/374447-override-admin-headertpl-and-custom-css/?p=1849355

 

Edit: la réponse mise en lien laisse suggérer que rien de l'administration ne peut être surchargé, mais on peut bien surcharger les templates des contrôleurs des pages d'administration, ce qui ne me paraît documenté nulle part. J'ai également testé de surcharger le header et ça ne marche effectivement pas.

Edited by GuillaumeCW (see edit history)
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...