DevNet Posted April 14, 2014 Share Posted April 14, 2014 (edited) Plop plop, Dites moi tout le monde les gens ! Z'avez pas remarqué que sur la 1.6, ça va être dur d'implémenter plusieurs déclarations sur le HOOK_PRODUCT_TAB / HOOK_PRODUCT_TAB_CONTENT . Par défaut, le module commentaire y est présent. Mais ce hook est malheureusement encapsulé dans une section commune : <!--HOOK_PRODUCT_TAB --> <section class="page-product-box"> {$HOOK_PRODUCT_TAB} {if isset($HOOK_PRODUCT_TAB_CONTENT) && $HOOK_PRODUCT_TAB_CONTENT}{$HOOK_PRODUCT_TAB_CONTENT}{/if} </section> <!--end HOOK_PRODUCT_TAB --> Du coup, c'est plutôt génant, car la gestion des tabs n'existent plus réellement sur le nouvel agencement de la page product en 1.6. On voit bien une déclaration de js pour gérer l'id tab du hook des commentaires (inclus dans le module commentaires). Mais ça veut dire que nous aussi, nous sommes obligés de nous adapter et de déclarer notre propre événement js sur nos tabs persos ? Un peu bizarre, ce ne n'est pas une évolution de code pour le coup, c'est une régression. La 1.5 réagissait parfaitement, et elle s'adaptait sans même d'ajout d'événement de notre part. Alors y'a-t-il un oubli de ce côté la ? Car en l'état actuel, j'estime que cette paire de hooks (indissociables) n'est pas exploitable, adaptable et non évolutive. Pourquoi ne pas tout simplement pour la 1.6 prévoir un hook qui permet l'ajout de sections à la suite, sans gestion de tab. Qu'en dites-vous ? A+ Edited April 14, 2014 by DevNet (see edit history) 1 Link to comment Share on other sites More sharing options...
J. Danse Posted April 14, 2014 Share Posted April 14, 2014 (edited) Sauf que, en même temps, il ne sert à rien désormais ce traitement de l'ID tab, en réalité. C'est du code pour la 1.5, là. Non ?! PS: On pourrait en fait renommer les "Tabs" en "Encarts", sur cette nouvelle version. Edited April 14, 2014 by J. Danse (see edit history) Link to comment Share on other sites More sharing options...
DevNet Posted April 14, 2014 Author Share Posted April 14, 2014 D'où mon interrogation. Car comme il sert à rien :/ bah pourquoi le garder comme sur 1.5, et pourquoi ne pas ajouter un hook qui permet la déclaration simple de balises <section> Link to comment Share on other sites More sharing options...
J. Danse Posted April 14, 2014 Share Posted April 14, 2014 Ah, ok. Car tu parlais de la déclaration JS qui est propre au module de la 1.5, et qui ne sert donc strictement à rien sur une 1.6 (sauf sur thème custom, évidemment ! ;-)). De fait, on pourrait très bien avoir plusieurs sections tant qu'à faire. 1 Link to comment Share on other sites More sharing options...
Olivier CLEMENCE Posted May 6, 2014 Share Posted May 6, 2014 Je suis entrain de rendre un de mes modules compatibles et en effet j'ai un problème à ce niveau car du coup lorsqu'on se retrouve avec plusieurs tabs ça donne <section> Titre du tab1 Titre du tab 2 Contenu du tab 1 contenu du tab 2 <section> Du coup c'est pas logique du tout et évidemment incompréhensible pour l’utilisateur. Quelqu'un aurait une solution ? Link to comment Share on other sites More sharing options...
Olivier CLEMENCE Posted May 6, 2014 Share Posted May 6, 2014 Bon finalement j'ai trouvé une solution. Je n'utilise pas le hookProductTab public function hookDisplayProductTab() { if(version_compare(_PS_VERSION_, '1.6.0', '<')) return $this->display(__FILE__, 'views/templates/front/opartfaqtab_15.tpl'); else //fix gestion tab 1.6 return false; } Et j'affiche le titre du tab et son contenu dans le hookProductTabContent public function hookDisplayProductTabContent() { if(version_compare(_PS_VERSION_, '1.6.0', '<')) return $this->display(__FILE__, 'views/templates/front/opartfaqtabcontent_15.tpl'); else {//fix gestion tab 1.6 $html=$this->display(__FILE__, 'views/templates/front/opartfaqtab.tpl'); $html.=$this->display(__FILE__, 'views/templates/front/opartfaqtabcontent.tpl'); return $html; } } Link to comment Share on other sites More sharing options...
Olivier CLEMENCE Posted May 6, 2014 Share Posted May 6, 2014 Du coup ça met en avant le fait que le hookProductTab n'a plus lieu d'être. Link to comment Share on other sites More sharing options...
DevNet Posted May 6, 2014 Author Share Posted May 6, 2014 Salut, Tu peux gérer tes hooks différements pendant l'installation de ton module. Voici des exemples de méthodes à ajouter dans ta méthode Module->install() public function installHookPS15() { if(version_compare(_PS_VERSION_, '1.6', '<')) if( !$this->registerHook('displayProductTab') || !$this->registerHook('displayProductTabContent') ) return false; return true; } public function installHookPS16() { if(version_compare(_PS_VERSION_, '1.6', '>=')) if( !$this->registerHook('displayFooterProduct') ) return false; return true; } Pour la 1.6 tu pourras ainsi utiliser le hook footer de la page product : public function hookDisplayFooterProduct($params) { if($this->IsPSVersion(">=","1.6")) { [...] } } Et afficher tes sections. A+ Link to comment Share on other sites More sharing options...
Olivier CLEMENCE Posted May 6, 2014 Share Posted May 6, 2014 Ah oui merci j'ai pas pensé à le gérer comme ça, c'est bien mieux ! 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