kapourafi Posted December 9, 2015 Share Posted December 9, 2015 (edited) Bonjour à tous. je suis sur le développement d'un module BO sur 1.6 et j'arrive au moment où je dois implémenter une nouvelle classe qui étend la classe ObjectModel.Ma question est, où dois-je mettre ce nouveau fichier? Ou bien faut-il la déclarer dans l'un des autres fichiers? Car rien n'est indiqué dans la doc à se sujet. En gros, j'ai class MonExempleController extends AdminController { public function __construct() { $this->table = 'moncontroller'; $this->className = 'MonController'; parent::__construct(); } public function renderList() { /*mon code*/ } public function ajaxProcessDetails() { /*mon code*/ } } Class MyOwnObjectCore extends ObjetcModel{ public static $definition = array( 'table' => 'events', 'primary' => 'id', 'multilang' => false, 'multilang_shop' => false, 'fields' => array( 'id' => array('type' => self::TYPE_INT, 'validate' => 'isUnsignedInt'), 'position' => array('type' => self::TYPE_INT) ), ); et lorsque je veux ajouter un nouvel objet dans ma table, la page suvante me dit que ma classe n'existe pas ou bien que j'ai une erreur sur le champ 'position' ( en fonction de si celui-ci est commenté ou non ). Tout le reste de mon module marche bien, la partie récupération des données que j'ai entré avec phpmyadmin s'affiche très bien, dans le bon ordre, mais impossible de faire fonctionner ma nouvelle classe. J'espère avoir été assez clair et que vous pourrez m'aider. Edited December 9, 2015 by kapourafi (see edit history) Link to comment Share on other sites More sharing options...
doekia Posted December 9, 2015 Share Posted December 9, 2015 Tu le dépose où tu veux dans ton module et tu l'include de là. Par contre je me demande si tu ne impromptues pas de faire un module avec ObjectModel et AdminController sans vouloir aller au moins lire ceux existant natif dans la solution. Une doc ne peux pas tout couvrir, encore moins des étape en quelques sorte à la base du codage. Ne te trompe pas je ne veux pas te vexer, juste t'éviter de te lancer dans un truc peut-être un peu trop dur pour toi pour l'instant. Link to comment Share on other sites More sharing options...
kapourafi Posted December 9, 2015 Author Share Posted December 9, 2015 Le problème c'est que quand je l'include, il ne me trouve pas la classe ObjectModel... Et non il n'y a aucun module existant qui se rapproche de ce que je veux faire.Et je suis développeur depuis 5 ans. C'est juste que je suis nouveau sur prestashop, et je veux faire du codage propre. Link to comment Share on other sites More sharing options...
Marvin Lamart Posted December 9, 2015 Share Posted December 9, 2015 (edited) Bonjour, Il me semble qu'ils font un simple include_once dans le fichier principal de leur module, de cette manière: include_once(_PS_MODULE_DIR_.'monmodule/classes/MaClasse.php'); Normalement la classe ObjectModel est trouvée juste avec cet appelle. A placer au dessus de la déclaration de votre classe: include_once(_PS_MODULE_DIR_.'monmodule/classes/MaClasse.php'); class MonExempleController extends AdminController { public function __construct() { $this->table = 'moncontroller'; $this->className = 'MonController'; parent::__construct(); } public function renderList() { /*mon code*/ } public function ajaxProcessDetails() { /*mon code*/ } } Edited December 9, 2015 by Marvin Lamart (see edit history) Link to comment Share on other sites More sharing options...
kapourafi Posted December 9, 2015 Author Share Posted December 9, 2015 (edited) Toujours le même problème... Fatal error: Class 'OwnCore' not found in \classes\controller\AdminController.php on line 1601 Edited December 9, 2015 by kapourafi (see edit history) Link to comment Share on other sites More sharing options...
kapourafi Posted December 9, 2015 Author Share Posted December 9, 2015 C'est bon, j'ai finalement compris!!Je n'appelais pas mon ObjectModel au bon endroit. Je pensais qu'il fallait le faire dans le fichier "MonModule extends Module" et non dans l' "adminController". Merci pour votre aide. Link to comment Share on other sites More sharing options...
doekia Posted December 10, 2015 Share Posted December 10, 2015 Tiens pour une fois que ce module sera utile... Décortique le module gamification... il a tout ObjectModel, AdminController, ... J'ai comme l'impression que tu assembles des bouts de tutos trouvé ici et là de personnes n'ayant pas vraiment compris l'archi. D'ailleurs tu ne mets que des bouts de ton code ... certaines lignes anodines ont une utilité obscure au néophite mais doivent être là. Respecte scrupuleusement et la structure et les camel case ... 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