[edit: do not loose your time reading this post, I solved it by disabling cache in the Pages2Pdf module... sorry?]
I do not know if I should post on the Pages2Pdf thread or here. Mods, feel free to move the post.
Since three days I am scratching my headto understand a weird thing happening with$sessionand$config->debugused in conjunction with Pages2Pdf module. For information, I tested it on a fresh install of ProcessWire 3.0.96 with PHP-7.0.28 and Pages2Pdf-1.1.7 (domain:http://session.sites.sek/). I will try to explain what is going on.
What I am trying to achieve :
In a template, I need to set some sessions variables which are then echo'd in the PDF document.
(on the test installation, the basic-page template (page /about/?pages2pdf) serve the PDF, the home and sitemap template set the session variable.)
The problem :
From the templatesitemap, I set a variable:$session->setFor('pdf', 'myvar', 'Session set from Sitemap template');
From the templatehome, I set a variable:$session->setFor('pdf', 'myvar', 'Session set from Home template');
Then in the PDF default template, I echo the session variable:<p>Session: <?= $session->getFor('pdf', 'myvar'); ?></p>
Now I turnONdebug mode ($config->debug = true) :
Then I navigate to "http://session.sites.sek/home/"and the session variable"myvar"is set to"Session set from Home template".
Then I navigate to "http://session.sites.sek/sitemap/"and the session variable"myvar"is set to"Session set from Sitemap template".
Now I want my PDF document, so I navigate to"http://session.sites.sek/about/?pages2pdf=1"and I get my PDF document with the right session var :"Session set from Sitemap template"
For the moment, nothing special happen. Everything work great. We are in debug mode.
Now I turnOFFdebug mode ($config->debug = false) :
Then I navigate to "http://session.sites.sek/home/"and the session variable"myvar"is set to"Session set from Home template".
Then I navigate to "http://session.sites.sek/sitemap/"and the session variable"myvar"is set to"Session set from Sitemap template".
Then I navigate back to"http://session.sites.sek/home/"and the session variable"myvar"is set back to"Session set from Home template".
Now I want my PDF document -as expected, the"myvar"should be set to "Session set from Home template"- so I navigate to"http://session.sites.sek/about/?pages2pdf=1"and here the problem happen.Insteadof echoing "Session set from Home template"in the PDF document, the phrase"Session set from sitemap"is echo'd (the last value recorded before switching from debug ON).
Strange behavior with Session and debug mode [SOLVED]
in General Support
Posted
Hi everyone,
[edit: do not loose your time reading this post, I solved it by disabling cache in the Pages2Pdf module... sorry ?]
I do not know if I should post on the Pages2Pdf thread or here. Mods, feel free to move the post.
Since three days I am scratching my head to understand a weird thing happening with $session and $config->debug used in conjunction with Pages2Pdf module. For information, I tested it on a fresh install of ProcessWire 3.0.96 with PHP-7.0.28 and Pages2Pdf-1.1.7 (domain: http://session.sites.sek/). I will try to explain what is going on.
What I am trying to achieve :
In a template, I need to set some sessions variables which are then echo'd in the PDF document.
(on the test installation, the basic-page template (page /about/?pages2pdf) serve the PDF, the home and sitemap template set the session variable.)
The problem :
From the template sitemap, I set a variable: $session->setFor('pdf', 'myvar', 'Session set from Sitemap template');
From the template home, I set a variable: $session->setFor('pdf', 'myvar', 'Session set from Home template');
Then in the PDF default template, I echo the session variable: <p>Session: <?= $session->getFor('pdf', 'myvar'); ?></p>
Now I turn ON debug mode ($config->debug = true) :
For the moment, nothing special happen. Everything work great. We are in debug mode.
Now I turn OFF debug mode ($config->debug = false) :
I made two small screencasts to show the issue :
I am missing something ? EDIT: YES, you are dumb!