jd440 Posted September 2, 2012 Share Posted September 2, 2012 Bonjour à tous. n.b.: : Désolé si j'utilise pas la bon terme si le titre est pas correct Voile je cherche à mettre en forme le modules blocktopmenu par mon theme. Mais ce qui m'étonne c'est qu'il faut que je créer 2 dossier, 1 pour le css, un pour le tpl??? je créer le css dans un dossiers /css/modules/blocktopmenu de mon theme /prestashop15/themes/montheme/css/modules/blocktopmenu/css/ + je créer le .tpl dans un dossiers /css/modules/blocktopmenu de mon theme /prestashop15/themes/montheme/modules/blocktopmenu si je met le tpl dans le premier dossier il le prend pas en compte, et si je fais l'inverse non plus??? Bizarre nan? Link to comment Share on other sites More sharing options...
jd440 Posted September 2, 2012 Author Share Posted September 2, 2012 Merci J'utilise la V 1.5.0.13 (j'ai pas osé passer à la 1.5.0.15 compte-tenu des pb d'upgrade.) Sinon qu'elle la bonne methode? un dossier dans le theme/modules/nom_du_theme ou un dossier dans le theme/css/modules/nom_du_theme Link to comment Share on other sites More sharing options...
J. Danse Posted September 2, 2012 Share Posted September 2, 2012 PrestaShop 1.4 /themes/my_theme/modules/my_module/my_module.tpl /themes/my_theme/css/modules/my_modules/my_module.css /themes/my_theme/js/modules/my_modules/my_module.js PrestaShop 1.5 /themes/my_theme/modules/my_module/views/templates/front/my_module.tpl /themes/my_theme/css/modules/my_modules/views/templates/front/my_module.css /themes/my_theme/js/modules/my_modules/views/templates/front/my_module.js Link to comment Share on other sites More sharing options...
jd440 Posted September 2, 2012 Author Share Posted September 2, 2012 ok donc c'est normal! Je trouvais ca étonnant d'éparpiller les fichiers. Link to comment Share on other sites More sharing options...
jd440 Posted September 2, 2012 Author Share Posted September 2, 2012 (edited) désol´e j'aurais du spécifier ma version dès le début mais étant dans la catégorie prestashop 1.5 c'était je pensais implicite. En revanche ce qui est étonnant c'est que si j'utilise: /themes/my_theme/css/modules/blocktopmenu/css/superfish-modified.css C'est bon /themes/my_theme/css/modules/blocktopmenu/blocktopmenu.css Pas bon en revanche ca ne fonctionne pas avec: /themes/my_theme/css/modules/blocktopmenu/views/templates/front/blocktopmenu.css Pas bon (normal car ce module ne contient pas de dossier views) Edited September 2, 2012 by jd440 (see edit history) Link to comment Share on other sites More sharing options...
jd440 Posted September 5, 2012 Author Share Posted September 5, 2012 Merci pour votre réponse. Ne vous inquiétez je ne suis pas en prod sure cette version mais bien en Dev. Merci pour les conseil de cache et compil qui sont déjà appliqué. Link to comment Share on other sites More sharing options...
jd440 Posted September 14, 2012 Author Share Posted September 14, 2012 Bonjour à tous. je continue ma question. Comment peut on overrider le fichier php, d'une module sur un theme? j'ai pas trouver la réponse ici: http://doc.prestashop.com/display/PS15/Overriding+default+behaviors#Overridingdefaultbehaviors-Overridingamodule%27sbehavior Merci à vous Link to comment Share on other sites More sharing options...
Dev On Web Posted September 14, 2012 Share Posted September 14, 2012 Bonjour, On ne peut pas de base. Cela implique de copier le module et d'en refaire un autre sur la même base. Link to comment Share on other sites More sharing options...
erehcab Posted October 8, 2012 Share Posted October 8, 2012 (edited) Salut jd440, si tu veux étendre la class (fichier php) d'un module utilises ce code qu'il te faudra mettre dans le répertoire override/class/module : <?php abstract class Module extends ModuleCore { public static function getInstanceByName($moduleName) { if (!isset(self::$_INSTANCE[$moduleName])) { if (Tools::file_exists_cache(_PS_MODULE_DIR_.$moduleName.'/'.$moduleName.'.php')) { include_once(_PS_MODULE_DIR_.$moduleName.'/'.$moduleName.'.php'); /*** HACK START */ if (file_exists(_PS_THEME_DIR_.'modules/'.$moduleName.'/'.$moduleName.'.php')){ // include the file include_once(_PS_THEME_DIR_.'modules/'.$moduleName.'/'.$moduleName.'.php');// <- NEW ALTERNATIVE $moduleName = $moduleName.'Ovr'; } /*** HACK END */ if(class_exists($moduleName, false)){ return self::$_INSTANCE[$moduleName] = new $moduleName; } } return false; } return self::$_INSTANCE[$moduleName]; } } Edited October 8, 2012 by erehcab (see edit history) 3 Link to comment Share on other sites More sharing options...
ChDUP Posted November 17, 2012 Share Posted November 17, 2012 Bizarre, je suis en 1.5.2 et j'override mes .css et .tpl de modules par ces chemins : /themes/my_theme/modules/my_module/my_module.tpl /themes/my_theme/css/modules/my_modules/my_module.css Si j'essaie ceci, ça ne fonctionne pas /themes/my_theme/modules/my_module/views/templates/front/my_module.tpl /themes/my_theme/css/modules/my_modules/views/templates/front/my_module.css 1 Link to comment Share on other sites More sharing options...
GuillaumeT Posted November 26, 2012 Share Posted November 26, 2012 (edited) Bizarre, je suis en 1.5.2 et j'override mes .css et .tpl de modules par ces chemins : /themes/my_theme/modules/my_module/my_module.tpl /themes/my_theme/css/modules/my_modules/my_module.css Si j'essaie ceci, ça ne fonctionne pas /themes/my_theme/modules/my_module/views/templates/front/my_module.tpl /themes/my_theme/css/modules/my_modules/views/templates/front/my_module.css Idem, l'overriding d'une structure "my_module/views/templates/front/my_module.tpl" en "/themes/my_theme/modules/my_module/views/templates/front/my_module.tpl" ne semble pas fonctionner comme il faut. Cela marche seulement en utilisant l'overriding : "/themes/my_theme/modules/my_module/my_module.tpl". Je suis aussi en 1.5.2.0 Edited November 26, 2012 by GuillaumeT (see edit history) Link to comment Share on other sites More sharing options...
grumo64 Posted November 27, 2012 Share Posted November 27, 2012 idem que ChDUP Link to comment Share on other sites More sharing options...
cajoline Posted March 13, 2013 Share Posted March 13, 2013 Voilà juste une petite correction du code ci-dessus pour que cela fonctionne sur la version 1.5.3 <?php abstract class Module extends ModuleCore { public static function getInstanceByName($module_name) { if (!Validate::isModuleName($module_name)) die(Tools::displayError()); if (!isset(self::$_INSTANCE[$module_name])) { if (Tools::file_exists_cache(_PS_MODULE_DIR_.$module_name.'/'.$module_name.'.php')) { /*** HACK START */ if (file_exists(_PS_THEME_DIR_.'modules/'.$module_name.'/'.$module_name.'.php')) { // include the file include_once(_PS_THEME_DIR_.'modules/'.$module_name.'/'.$module_name.'.php'); } else { include_once(_PS_MODULE_DIR_.$module_name.'/'.$module_name.'.php'); } /*** HACK END */ if (class_exists($module_name, false)) return self::$_INSTANCE[$module_name] = new $module_name; } return false; } return self::$_INSTANCE[$module_name]; } } 2 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