Jump to content

Création module problème de position avec "retour à la liste des modules // Résolu


Recommended Posts

Bonjour à tous,

Voilà je suis en train d'ajouter mon module dans prestashop ( merci pour la doc. ) et pourtant je n'arrive pas à ajuster un point.

En ce qui me concerne mon travail a été effectué dans une autre page donc j'effectue un include dans mon fichier compta.php (qui est ma classe), et dans le ce fichier compta.php, sous la partie display j'ai mis ceci :

public function displayForm()
   {
       $output = include('comptabilite.php');
       return $output;
   }



Comme vous le constatez normalement le module devrait se trouver entre les deux textes "Retour à la liste des modules" ( voir image annexée ). Pourquoi ça fait cela ? Parce que il me manque

au moment ou je fait appel à $output.

Et pourtant même si je mets dans mon fichier "comptabilite.php" (qui est le fichier que j'inclus) rien à faire il ne veut pas mettre mon module entre les deux textes "Retour à la liste des modules".

Avez-vous une idée à ce niveau ? Je suis bien conscient que c'est peut-être un trop pointu comme question.

merci à vous

1663_BgZOBBKAWA1qvq5Grk1p_t

Share this post


Link to post
Share on other sites

:ahhh:

$output = include('comptabilite.php');



Pas beau tout ça...

Quoiqu'il en soit, si vraiment tu veux laisser ton fichier compta comme il est, voici peut-être une solution à ton problème :)

public function displayForm() {
   $output = '';
   ob_start();
   include('comptabilite.php');
   $output = ob_get_clean();
   ob_end_clean();
   return $output;
} 



Je t'avoue que je ne sais même pas si on peut faire cela ou pas... Testes et dis moi si ça a résolu ton problème ou pas.

Mais saches juste qu'il vaut mieux faire ça proprement, car c'est pas beau :)

Share this post


Link to post
Share on other sites

Salut,

merci pour ton aide cela fonctionne parfaitement.
En fait il faut surtout savoir qu'est-ce qui fait quoi dans prestashop et c'est pas évident.

public function displayForm() {
   $output = ''; 
   ob_start(); // <= ceci j'ignore ce que cela fait
   include('comptabilite.php');
   $output = ob_get_clean();  // <= ceci j'ignore ce que cela fait
   ob_end_clean();  // <= ceci j'ignore ce que cela fait
   return $output;
} 



Il ne me serait pas venu à l'esprit d'ajouter ces différentes syntaxes pour que cela puisse fonctionner. :)
Est-ce que tu sais cela parce que tu as effectué plusieurs réalisations et que tu connais les fonctions ou est-ce par analyse ?

merci pour ton aide précieuse

Share this post


Link to post
Share on other sites

Je connais ces fonctions car je les ai déjà utilisées (je suis développeur). Mais j'avoue ne jamais les avoir utilisée dans ce contexte :) Apparemment ça fonction et tant mieux!

Sinon pour t'expliquer, ce sont en fait des fonction de bufférisation de php :) (Fonctions qui gère le buffer)

Pour plus d'infos, www.php.net ;)

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