Jump to content

Scinder code PHP HTML et JS


Recommended Posts

Bonjour,

Lors de ma dernière soumission de mon module en validation sur PS Addons, j'ai eu la mauvaise surprise de le voir refusé pour les raisons suivantes :

Quote

 

Votre PHP contient du HTML, ce qui n’est pas autorisé. Merci d’utiliser les templates smarty pour afficher du HTML afin de respecter les standards PrestaShop et d’obtenir un code plus maintenable.
Pour que vous ayez une validation plus rapide :
- Consultez notre documentation : https://goo.gl/mp1F3h
- Renseignez vous sur les helpers : https://goo.gl/Bw1fRq
- Utilisez PrestUI : https://goo.gl/hDG12V

 

Je ne vais pas relever le fait que lorsque j'ai passé mon module dans le "Validator", tout est passé au vert :(

Ce qui me pose problème, c'est ce qui m'est demandé de faire. J'ai tenté de comprendre les 3 solutions mais que dalle !

Auriez-vous une aide /ressource à m'apporter plus accessible que cette doc que je ne comprends pas ?

Pour info, mon module est surtout constitué d'un fichier PHP de plus de 2000 lignes. Elles sont organisées, indentées mais elles mélangent du code PHP, de l'HTML et du JS.

Merci d'avance pour votre aide

Gérald
 

Quote

 

Voici un exemple de mon code :
            $row++;
            $tx = 'tx'.$row;
            $titres = $titres.'<th style = "text-align:center" colspan = 2>'.$this->l('Tax rate')...........

 

 

Share this post


Link to post
Share on other sites

il y a une heure, groussel a dit :

Pour info, mon module est surtout constitué d'un fichier PHP de plus de 2000 lignes. Elles sont organisées, indentées mais elles mélangent du code PHP, de l'HTML et du JS.

C'est l'erreur.

1- smarty génère votre html à afficher dans els tpl

2- faite un fichier js à part

3- le php doit simplement transmettre els données au tpl qui va les afficher

https://devdocs.prestashop.com/

Et on rappelera qu'il suffit

1- de lire la doc

2- de générer un module exemple dans l'outil dédié avec le validator

3- s'inspirer des modules existant.

4- lire les dizaines, sinon centaines de tutoriels existant sur le sujet pour toutes les version de PS.

Share this post


Link to post
Share on other sites

Merci pour votre réponse :)

Toutefois...

23 minutes ago, Mediacom87 said:

1- smarty génère votre html à afficher dans les tpl

Je sais ce qu'est un TPL (j'ai déjà été amené de faire des overrides sur des modules ou thèmes existants). Je connais vaguement le rôle de smarty. Mais je ne sais pas quoi comprendre de cette affirmation.

25 minutes ago, Mediacom87 said:

2- faites un fichier JS à part

J'ai tenté mais j'ai différents bouts de JS dans mon "GodFile"... Je ne vois pas comment les agréger et les appeler depuis le fichier PHP.

27 minutes ago, Mediacom87 said:

3- le php doit simplement transmettre les données au tpl qui va les afficher

S'il sait quoi faire, ça va. y'a intérêt qu'il fasse ça comme y faut, que je sois pas emm..... :( 

27 minutes ago, Mediacom87 said:

J'ai dit initialement que je n'ai pas compris cette doc. Y-a-t-il une ressource plus accessible en français ?

29 minutes ago, Mediacom87 said:

2- de générer un module exemple dans l'outil dédié avec le validator

Je l'ai fait mais la coquille vide proposée ne me permet pas de sauter dans la piscine.

30 minutes ago, Mediacom87 said:

4- lire les dizaines, sinon centaines de tutoriels existant sur le sujet pour toutes les version de PS.

Je ne trouve aucun tutoriel (ou autre ressource) accessible pour appréhender les bases qu'il me manque. Ce n'est pas un problème de version de PS (mon module est compatible pour PS 1.4 à 1.7.7).

J'entends d'ici les kadors dire "oh l'autre il s'est pris pour un dev mais il est pas foutu de découper son code !"

Je suis parti d'une 50aine de lignes de code et après environ 10 ans, j'en suis à plus de 2000 ! Je n'ai pas de pb de maintenance ni d'évolution de mon module. Jusqu'à ce qu'on me dise qu'il faut le structurer autrement... dans un langage que je ne comprends pas.

Merci de m'apporter une aide plus adaptée à mon "handicap technique".

Gérald

Share this post


Link to post
Share on other sites

il y a 23 minutes, groussel a dit :

J'ai dit initialement que je n'ai pas compris cette doc. Y-a-t-il une ressource plus accessible en français ?

première nouvelle.

il y a 23 minutes, groussel a dit :

Merci de m'apporter une aide plus adaptée à mon "handicap technique".

 

il y a une heure, Mediacom87 a dit :

3- s'inspirer des modules existant.

 

Share this post


Link to post
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

Cookies ensure the smooth running of our services. Using these, you accept the use of cookies. Learn More