- Posts: 37
- Thank you received: 1
- Forum
- Localized forums
- French forum
- Personnalisation des Impression le Retour de la Vengeance de la V2....
Personnalisation des Impression le Retour de la Vengeance de la V2....
J'ai upgradé ma version de LS vers la nouvelle V2...
Pas trop de problème ...
Cependant j'avais une de mes enquêtes qui se finissait par une impression personnalisée selon la méthode des fichiers clonés ( printanswers.pstpl') décrite par Benitov dans ce post : www.limesurvey.org/forum/french-forum/63...nnaire?lang=en#63238 .
J'avais posté il y a quelques mois à ce propos ici .
Mon problème c'est que l'upgrade a du modifier l'emplacement des templates car j'ai maintenant une belle page blanche lorsque je clique sur le lien d'impression.
La modification initiale se trouvait dans le fichier printanswer.php (qui est à la racine de LS) et dont l'avant dernière ligne a été modifiée comme suivant :
echo templatereplace(file_get_contents(sGetTemplatePath($thistpl).'/printanswers-main.pstpl'),array('ANSWERTABLE'=>$printoutput));
J'imagine que c'est la variable $thistpl qui est importante mais même en changeant cette dernière, en testant un chemin en "dur" ça fonctionne pas...
Est ce qu'un esprit éclairé aurait une solution ?
Merci d'avance et bonnes fêtes de fin d'année
Philippe
Please Log in or Create an account to join the conversation.
Autant te dire que je ne connais vraiment pas grand chose de la V2 (J'ai juste fait quelques essais)

Ceci-dit si c'est une question de chemin, peut-être une piste:
Dans le fichier /application/controllers/PrintanswersController.php (le nouveau "printanswers.php") essaie de remplacer les dernières lignes (après les avoir adaptées pour ton template) par:
echo templatereplace(file_get_contents(dirname($rootdir).'/upload/templates/YOUR_TEMPLATE/startpage.pstpl'));
echo templatereplace(file_get_contents(dirname($rootdir).'/upload/templates/YOUR_TEMPLATE/printanswers.pstpl'),array('ANSWERTABLE'=>$printoutput));
echo templatereplace(file_get_contents(dirname($rootdir).'/upload/templates/YOUR_TEMPLATE/endpage.pstpl'));
Benoît
Benoît
EM Variables => bit.ly/1TKQyNu | EM Roadmap => bit.ly/1UTrOB4
Last Releases => 2.6x.x goo.gl/ztWfIV | 2.06/2.6.x => bit.ly/1Qv44A1
Demo Surveys => goo.gl/HuR6Xe (already included in /docs/demosurveys)
Please Log in or Create an account to join the conversation.
- DenisChenu
-
- Offline
- LimeSurvey Community Team
-
- Posts: 8875
- Karma: 400
- Thank you received: 1466
Il me semble avoir corrigé quelques bugs sur le PrintanswersController.php .
Sinon, comme le lien n'est plus bon (j'ai une 404), peut tu rappeler la méthode et son objectif ?
Denis
Assistance on LimeSurvey forum and LimeSurvey core development are on my free time.
I'm not a LimeSurvey GmbH member, professional service on demand (or search sondages pro).
An error happen ? Before make a new topic : remind the Debug mode .
Please Log in or Create an account to join the conversation.
Benoît
EM Variables => bit.ly/1TKQyNu | EM Roadmap => bit.ly/1UTrOB4
Last Releases => 2.6x.x goo.gl/ztWfIV | 2.06/2.6.x => bit.ly/1Qv44A1
Demo Surveys => goo.gl/HuR6Xe (already included in /docs/demosurveys)
Please Log in or Create an account to join the conversation.
- DenisChenu
-
- Offline
- LimeSurvey Community Team
-
- Posts: 8875
- Karma: 400
- Thank you received: 1466
Donc, théoriquement, sans changement du cœur de LS, cela doit rester faisable modèle pra modèle ?Ben_V wrote: Salut Denis,
ça doit être par-là
Ben/
Quitte à avoir un modèle par questionnaire ?
Denis
Assistance on LimeSurvey forum and LimeSurvey core development are on my free time.
I'm not a LimeSurvey GmbH member, professional service on demand (or search sondages pro).
An error happen ? Before make a new topic : remind the Debug mode .
Please Log in or Create an account to join the conversation.
Oui bien sûr dans 99% des cas je pense ...Donc, théoriquement, sans changement du cœur de LS, cela doit rester faisable modèle pra modèle ?
Le "clonage" du printanswers.php répond lui aux autres besoins, non-manipulables via le template: (sûrement il y a des choses dorénavant possibles avec les versions ≥1.92 qui ne l'étaient pas avant)
- Habiliter ou non tout ce qu'il y a après "//Get the fieldmap @TODO: do we need to filter out some fields?"
- Ma problématique très spécifique: Tous les questionnaires d'une même installation doivent pouvoir être imprimés de 2 ou 3 façons différentes, disons avec des entêtes et pieds de pages bien déterminés;
Ben/
Benoît
EM Variables => bit.ly/1TKQyNu | EM Roadmap => bit.ly/1UTrOB4
Last Releases => 2.6x.x goo.gl/ztWfIV | 2.06/2.6.x => bit.ly/1Qv44A1
Demo Surveys => goo.gl/HuR6Xe (already included in /docs/demosurveys)
Please Log in or Create an account to join the conversation.
Je reviens (enfin) sur ce dossier que j'avais mis de coté depuis les fêtes.
-
Mon problème reste entier : comment faire une impression personnalisée spécifiquement pour un questionnaire donné avec la V2.
-
Au niveau des avancées j'ai testé ce que disait Denis, à savoir modifier les dernières lignes du PrintanswersController.php
echo templatereplace(file_get_contents(getTemplatePath($thistpl).'/startpage.pstpl'),array(),$redata);
echo templatereplace(file_get_contents(getTemplatePath($thistpl).'/printanswers.pstpl'),array('ANSWERTABLE'=>$printoutput),$redata);
echo templatereplace(file_get_contents(getTemplatePath($thistpl).'/endpage.pstpl'),array(),$redata);
J'ai juste remplacé le printanswers.pstpl par le nom de mon printanswers-main.pstpl (le personnalisé)
Alors ça marche bien entendu MAIS PAS en option et PAS pour un seul questionnaire précis...
(ça change toutes les impressions de tous mes questionnaires)
--
J'ai essayé de mettre ça en URL de fin de questionnaire, car c'est comme ça qu'au final ça devra fonctionner mais ça ne fonctionne pas du tout...
Bref, y a quelque chose qui m'échappe dans la V2,
Quelqu'un(e) aurait une idée ?
En vous remerciant
Philippe
Please Log in or Create an account to join the conversation.
ben vu comment sont composées les urls (ex: index.php/printanswers/view/surveyid/2345) je ne suis pas super optimiste pour trouver une combine pour faire ce que tu veux comme au bon vieux temps du printanswer-cequejeveux.php...
Par contre, comme rappelait Denis un peu plus haut, celà n'empêche pas de chercher une solution qui depende à 100% du template... Normalement c'est suffisant pour les en-têtes et pieds de page, et comme la présentation reste un tableau, il est possible d'y mettre la main en jouant des pseudos-éléments CSS; voir ici et là sur le web
Possible également dans le PrintanswersController.php de jeter un oeuil sur le html généré en rajoutant des classes css, pour faire apparaître ou cacher des trucs selon le template ... Bien sûr il faut alors faire gaffe aux updates
Ben/
Benoît
EM Variables => bit.ly/1TKQyNu | EM Roadmap => bit.ly/1UTrOB4
Last Releases => 2.6x.x goo.gl/ztWfIV | 2.06/2.6.x => bit.ly/1Qv44A1
Demo Surveys => goo.gl/HuR6Xe (already included in /docs/demosurveys)
Please Log in or Create an account to join the conversation.
- DenisChenu
-
- Offline
- LimeSurvey Community Team
-
- Posts: 8875
- Karma: 400
- Thank you received: 1466
Salut,Ben_V wrote: Possible également dans le PrintanswersController.php de jeter un oeuil sur le html généré en rajoutant des classes css, pour faire apparaître ou cacher des trucs selon le template ... Bien sûr il faut alors faire gaffe aux updates
Le PrintanswersController va sans doute être mis à jour pour la future version. en effet comme les questions passent en plugin[*], cela demande un travail complet. Donc, c'est le moment de demander des évolutions de ce coté.
Sinon,
dans le printanswercontroller, il est possible d'effectuer des test en fonction de l'identifant du questionnaire:
if($surveyid=42){
echo templatereplace(file_get_contents(getTemplatePath($thistpl).'/startpage.pstpl'),array(),$redata);
echo templatereplace(file_get_contents(getTemplatePath($thistpl).'/printanswers.pstpl'),array('ANSWERTABLE'=>$printoutput),$redata);
echo templatereplace(file_get_contents(getTemplatePath($thistpl).'/endpage.pstpl'),array(),$redata);
}else{
echo templatereplace(file_get_contents(getTemplatePath($thistpl).'/startpage.pstpl'),array(),$redata);
echo templatereplace(file_get_contents(getTemplatePath($thistpl).'/printanswers_perso.pstpl'),array('ANSWERTABLE'=>$printoutput),$redata);
echo templatereplace(file_get_contents(getTemplatePath($thistpl).'/endpage.pstpl'),array(),$redata);
}
Assistance on LimeSurvey forum and LimeSurvey core development are on my free time.
I'm not a LimeSurvey GmbH member, professional service on demand (or search sondages pro).
An error happen ? Before make a new topic : remind the Debug mode .
Please Log in or Create an account to join the conversation.
Je n'avais jamais pensé à ça... mais ça peut permettre des usages bien interessants (en faisant gaffe aux updates, bien sûr)il est possible d'effectuer des test en fonction de l'identifant du questionnaire
Tu peux nous décrire STP (brièvement bien sûr) ce que celà implique, change ou apporte comme améliorations au software?les questions passent en plugin
Merci...
Benoît
EM Variables => bit.ly/1TKQyNu | EM Roadmap => bit.ly/1UTrOB4
Last Releases => 2.6x.x goo.gl/ztWfIV | 2.06/2.6.x => bit.ly/1Qv44A1
Demo Surveys => goo.gl/HuR6Xe (already included in /docs/demosurveys)
Please Log in or Create an account to join the conversation.
Je reviens vers vous pour vous donner la conclusion de ce fil...
-
J'ai bien essayé la solution de Denis avec les if then... Mais je pense que je m'y suis mal pris car ça ne fonctionnait pas...
-
Du coup, pris par le temps car j'avais un petit mois de retard sur la "livraison" j'ai opté pour une autre solution, certe bien moins élégante mais efficace...
J'ai installé une deuxième instance de Limesurvey sur le même serveur avec bien entendu une URL différente, je l'ai configuré exclusivement pour ce "travail" et du coup bien entendu ça fonctionne...
Les désavantages (outre le fait que c'est pas très élégant informatiquement parlant) sont la double maintenance des systèmes...
L'avantage c'est que je peux "fixer" ce dernier et plus rien modifier si ça convient...
Voilà voilà....
En espérant que les prochaines MAJ et évolutions prendront en compte cette intéressante possibilité d'éditions personnalisées par questionnaire
Bien amicalement et grand merci pour votre aide
Philippe
Please Log in or Create an account to join the conversation.
- DenisChenu
-
- Offline
- LimeSurvey Community Team
-
- Posts: 8875
- Karma: 400
- Thank you received: 1466

Assistance on LimeSurvey forum and LimeSurvey core development are on my free time.
I'm not a LimeSurvey GmbH member, professional service on demand (or search sondages pro).
An error happen ? Before make a new topic : remind the Debug mode .
Please Log in or Create an account to join the conversation.
Merci du retour..
Puisque tu parles des installations parallèles (partagent la même db), je te fais part de ma petite expérience à ce sujet, car ça peut ouvrir des portes à certains:
J'ai une installation comme celà avec la version 1.90.
Si la plateforme de base contient les quelques 3000 fichiers du pack original, les installations satellites tournent, avec "seulement" 350 fichiers... du fait d'avoir supprimer l'admin, les thèmes qui ne servent pas et quelques autres fichiers annexes à droite et à gauche.
Bien sûr pour faire ça avec la V2, c'est sûrement une autre chanson.
BenoÎt
Benoît
EM Variables => bit.ly/1TKQyNu | EM Roadmap => bit.ly/1UTrOB4
Last Releases => 2.6x.x goo.gl/ztWfIV | 2.06/2.6.x => bit.ly/1Qv44A1
Demo Surveys => goo.gl/HuR6Xe (already included in /docs/demosurveys)
Please Log in or Create an account to join the conversation.