jbo14 Posted February 27, 2017 Share Posted February 27, 2017 (edited) 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 March 1, 2017 by jbo14 (see edit history) Link to comment Share on other sites More sharing options...
jbo14 Posted March 22, 2017 Author Share Posted March 22, 2017 Quelqu'un pourrait me dire si c'est un bug ou pas? Link to comment Share on other sites More sharing options...
GuillaumeCW Posted March 22, 2017 Share Posted March 22, 2017 Je pense que le template "header" du back office est surchargé avec un fichier dans override/controllers/admin/templates/header.tpl Link to comment Share on other sites More sharing options...
jbo14 Posted March 31, 2017 Author Share Posted March 31, 2017 D'après mes tests, ce n'est pas le cas, les templates header et footer mis dans override/controllers/admin/templates/ ne sont pas utilisés Link to comment Share on other sites More sharing options...
GuillaumeCW Posted March 31, 2017 Share Posted March 31, 2017 (edited) 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 March 31, 2017 by GuillaumeCW (see edit history) 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