Allyta Posted July 23, 2021 Share Posted July 23, 2021 Bonjour, J'ai développé un module sous Prestashop 1.7.7.3 sur un WAMP. Le module fonctionne et les Admin Controller sont bien trouvé en local mais lors du passage en production j'ai le message suivant : "Le contrôleur AdminGestionTruc est manquant ou non valable." Cela me fais ce souci sur tous mes controllers. J'ai testé sur 2 sites en local, le module fonctionne parfaitement mais dès qu'on passe sur un site hébergé (OVH), plus moyen d'atteindre les controllers. Sur la version en prod, le module s'installe bien, les tabs s'affichent bien avec le bon URL de redirection, vers les Admin Controller mais visiblement il ne les trouve jamais. (La BDD se rempli correctement au niveau des tables tabs également). Mes Admin Controller sont bien dans un dossier controllers > admin. Aucune erreur ne ressort ni dans les logs ni en console. La seule différence entre le site local (qui fonctionne) et le site en prod c'est l'hébergement et la présence du SSL. Je mets le code d'un des Admin Controller : include _PS_MODULE_DIR_.'/gestionProduction/classes/Recette.php'; class AdminGestionRecetteController extends ModuleAdminController{ // Instanciation de la classe public function __construct(){ $this->bootstrap = true; //Gestion de l'affichage en mode bootstrap $this->table = 'gp_recette'; //Table de l'objet $this->identifier = 'id_recette'; //Clé primaire de l'objet $this->className = Recette::class; //Classe de l'objet $this->lang = false; //Flag pour dire si utilisation de langues ou non $this->_join = 'INNER JOIN '._DB_PREFIX_. 'gp_' . 'categorie_recette c ON (a.id_categorie_recette = c.id_categorie_recette)'; $this->_select = 'c.nom_categorie_recette AS `categorie_recette`'; //Liste des champs de l'objet à afficher dans la liste $this->fields_list = array( 'code_recette' => array('title' => 'Code', 'width' => 'auto'), 'categorie_recette' => array('title' => 'Categorie', 'width' => 'auto'), 'variete_recette' => array('title' => 'Variété', 'width' => 'auto'), ); //Ajout d'actions sur chaque ligne //$this->addRowAction('view'); $this->addRowAction('edit'); $this->addRowAction('delete'); parent::__construct(); } /** * Affichage du formulaire d'ajout / création de l'objet * @return string * @throws SmartyException */ public function renderForm() { //Définition du formulaire d'ajout $this->fields_form = [ //Entête 'legend' => [ 'title' => $this->module->l('Ajout d\'une recette'), 'icon' => 'icon-cog' ], //Champs 'input' => [ [ 'type' => 'text', //Type de champ 'label' => $this->module->l('name'), //Label 'name' => 'name', //Nom 'class' => 'input fixed-width-md', //classes css 'size' => 50, //longueur maximale du champ 'required' => true, //Requis ou non 'empty_message' => $this->l('Please fill the postcode'), //Message d'erreur si vide 'hint' => $this->module->l('Enter sample name') //Indication complémentaires de saisie ], [ 'type' => 'text', 'label' => $this->module->l('code'), 'name' => 'code', 'class' => 'input fixed-width-md', 'size' => 5, 'required' => true, 'empty_message' => $this->module->l('Please fill the code'), ], [ 'type' => 'text', 'label' => $this->module->l('email'), 'name' => 'email', 'class' => 'input fixed-width-md', 'size' => 5, 'required' => true, 'empty_message' => $this->module->l('Please fill email'), ], [ 'type' => 'text', 'label' => $this->module->l('Title'), 'name' => 'title', 'class' => 'input fixed-width-md', 'lang' => true, //Flag pour utilisation des langues 'required' => true, 'empty_message' => $this->l('Please fill the title'), ], ], //Boutton de soumission 'submit' => [ 'title' => $this->l('Save'), //On garde volontairement la traduction de l'admin par défaut ] ]; return parent::renderForm(); } } Link to comment Share on other sites More sharing options...
SmartDataSoft Posted July 23, 2021 Share Posted July 23, 2021 Bonjour, Veuillez vérifier que le nom du contrôleur de votre nom de module est correct. Si vous travaillez sous Windows, ce type de problème peut survenir si le serveur est Linux. Linux est sensible à la casse. Merci Link to comment Share on other sites More sharing options...
Allyta Posted July 24, 2021 Author Share Posted July 24, 2021 Bonjour, J'ai vérifié, tout correspond bien au niveau des noms. J'ai même testé en "cassant" le code de l'environnement de test (là où le module marche) en changeant mal un nom pour comparer l'erreur à la version en prod mais je n'obtenais pas le même résultat donc j'ai écarté cette hypothèse. 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