diff --git a/classes/controller/ModuleAdminController.php b/classes/controller/ModuleAdminController.php index ba0ac7c11..b28c08904 100644 --- a/classes/controller/ModuleAdminController.php +++ b/classes/controller/ModuleAdminController.php @@ -64,6 +64,8 @@ abstract class ModuleAdminControllerCore extends AdminController */ public function getTemplatePath() { + if (file_exists(_PS_THEME_DIR_.'modules/'.$this->name.'/views/templates/admin/'.$template)) + return _PS_THEME_DIR_.'modules/'.$this->name.'/views/templates/admin/'.$template; return _PS_MODULE_DIR_.$this->module->name.'/views/templates/admin/'; } } diff --git a/classes/controller/ModuleFrontController.php b/classes/controller/ModuleFrontController.php index 0ab4932a5..d5eeb4725 100644 --- a/classes/controller/ModuleFrontController.php +++ b/classes/controller/ModuleFrontController.php @@ -68,6 +68,8 @@ class ModuleFrontControllerCore extends FrontController */ public function getTemplatePath() { + if (file_exists(_PS_THEME_DIR_.'modules/'.$this->name.'/views/templates/front/'.$template)) + return _PS_THEME_DIR_.'modules/'.$this->name.'/views/templates/front/'.$template; return _PS_MODULE_DIR_.$this->module->name.'/views/templates/front/'; } } diff --git a/classes/module/Module.php b/classes/module/Module.php index 06d31c8e9..f12279e73 100644 --- a/classes/module/Module.php +++ b/classes/module/Module.php @@ -1603,7 +1603,11 @@ abstract class ModuleCore protected static function _isTemplateOverloadedStatic($module_name, $template) { if (Tools::file_exists_cache(_PS_THEME_DIR_.'modules/'.$module_name.'/'.$template)) - return true; + return _PS_THEME_DIR_.'modules/'.$module_name.'/'.$template; + elseif (Tools::file_exists_cache(_PS_THEME_DIR_.'modules/'.$module_name.'/views/templates/hook/'.$template)) + return _PS_THEME_DIR_.'modules/'.$module_name.'/views/templates/hook/'.$template; + elseif (Tools::file_exists_cache(_PS_THEME_DIR_.'modules/'.$module_name.'/views/templates/front/'.$template)) + return _PS_THEME_DIR_.'modules/'.$module_name.'/views/templates/front/'.$template; elseif (Tools::file_exists_cache(_PS_MODULE_DIR_.$module_name.'/views/templates/hook/'.$template)) return false; elseif (Tools::file_exists_cache(_PS_MODULE_DIR_.$module_name.'/'.$template)) @@ -1664,8 +1668,9 @@ abstract class ModuleCore $overloaded = $this->_isTemplateOverloaded($template); if ($overloaded === null) return null; + if ($overloaded) - return _PS_THEME_DIR_.'modules/'.$this->name.'/'.$template; + return $overloaded; else if (file_exists(_PS_MODULE_DIR_.$this->name.'/views/templates/hook/'.$template)) return _PS_MODULE_DIR_.$this->name.'/views/templates/hook/'.$template; else