csid Posted July 26, 2012 Share Posted July 26, 2012 Bonjour, je débute totalement sur PS. J'ai une expérience de 25 ans de dev donc plutot procédural qu'objet...(aie! pas sur la tête!) Sur une 1.4.8 de test, je veux me lancer dans le dev d'un module pour me faire la main. J'ai fait les divers tutos existants donc la base c'est ok. Maintenant j'aimerai faire certaines choses et prendre les bonnes directions : Je vais avoir besoin de : - faire des opérations coté front office à chaque mouvement de l'internaute, au début de chaque page. Quel hook utiliser?? - poser un cookie et lire un cookie coté front office pour repérer un internaute déjà venu. Quelles méthodes? Les techniques classiques peuvent elles fonctionner? puis-je poser un cookie rien qu'à moi? Comment? - je vais devoir conserver des informations d'une page à l'autre. Classiquement j'utilise les sessions PHP. Comment faire cela dans prestashop? Methodes? J'ai cru lire/comprendre que PS ne gérait pas de sessions mais des cookies.... - coté admin j'ai compris que la methode getContent permettait d'acceder au panel de configuration du module. Mais comment interagir? poster des données pour les gérer en BDD, réafficher le résultat d'un post...? je n'ai pas trouvé d'exemples concret et simples... En clair je ne pense pas vouloir faire des choses très complexes, mais un peu plus que du simple affichage de données dans le front... Et je veux partir dans la bonne direction et faire les choses le plus proprement possible. Petite remarque sur la 1.5 : J'ai commencé les tutos de creation de modules sur la 1.5 RC1 et ca ne marchait pas... (surtout la partie getContent) Du coup je suis revenu à une 1.4.8. Si je pouvais aussi avoir des conseils pour que ca soit portable par la suite sur une 1.5... Je sais bien que toutes les infos ne sont pas encore dispo. D'avance merci pour toutes les pistes qui seront forcément utiles vu mon niveau! Hervé Link to comment Share on other sites More sharing options...
Hedrad Posted July 26, 2012 Share Posted July 26, 2012 Bonjour, Les tutos d'Emilen Malbranche (niveau "complexe mais pas trop") devraient répondre à certaines de vos questions. Bien cordialement. Link to comment Share on other sites More sharing options...
csid Posted July 26, 2012 Author Share Posted July 26, 2012 Effectivement j'ai déjà! mais un petit rappel ne fait pas de mal! Link to comment Share on other sites More sharing options...
franckm1000 Posted July 26, 2012 Share Posted July 26, 2012 (edited) 1. Quels types d'opérations ? si vous désirez afficher des infos en front office, le hook TOP. Si par contre vous ne souhaitez faire que des opérations 'en interne', vous pouvez peut être utiliser le hook header. 2. Pour les sessions, prestashop ne les utilise pas et utilise uniquement les cookies. Le mieux est que vous regardiez la classe cookie et toutes les fonctions disponibles. Par exemple, islogged vous permet de vérifier que la personne est connectée à son compte... Vous pouvez utiliser ma variable globale $cookie pour récupérer beaucoup d'infos par exemple la langue courante ($cookie->id_lang...). Par exemple: $cookie->__set('mavar' , '1'); crée une variable cookie $cookie->__unset('mavar'); supprime la variable 3. Pour getcontent() effectivement cela sert à créer une config en BO. Tous les éléments que vous affichez doivent se situer dans la fonction getcontent(). Si vous utilisez un formulaire, il vous suffit d'utiliser un appel du type: action='".$_SERVER['REQUEST_URI']."' dans votre form. De ce fait, au moment de l'envoi des données vous rechargez la page en cours. Donc pour traiter les données vous n'avez qu'à dans votre getcontent() utiliser un truc du genre: if(isset($_POST['mon_bouton'])) { je traite... } 4. Même si vous n'êtes pas familier des objets, utilisez les classes notamment Tools pour la récupération des variables. N'utilisez pas comme sur l'exemple ci-dessus $_POST mais plutôt Tools::getValue('mon_bouton') De même, utilisez la classe Db pour les requêtes à la base (Db::getInstance()->ExecuteS('ma requête')) Pensez également à certaines fonctions pour les affichages comme $this->displayConfirmation('mon texte') qui vous permet d'afficher un texte de 'validation'. De même pensez dès le départ à utiliser les traductions. Pour cela il faut utiliser la fonction $this->l('mon texte') @ + Franck Edited July 26, 2012 by franckm1000 (see edit history) Link to comment Share on other sites More sharing options...
csid Posted July 26, 2012 Author Share Posted July 26, 2012 Merci! Voilà de bonnes pistes! à écumer le net on fini par etre noyé et ne plus savoir quoi faire.... 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