FormItRetriever / Cache Issue

I’ve encountered an issue with one of my websites whereby I’ve been unable to retrieve the placeholder information on the Thank You page after it has been submitted using FormItRetriever. I can tell that everything has been set up correctly yet on further diagnosis of the issue I can see that the data isn’t being pulled through albeit a cacheKey has been created. From looking at core/cache I can see that I haven’t the usual folders like context_settings within there and even when I’ve refreshed cache these haven’t been created although some of the other settings have. I’m wondering if anyone has encountered this issue before or has any useful guidance at all. Many thanks in advance.

As a workaround you could set the storeLocation to session to save the data in $_SESSION instead of the cache.

[[!FormIt? &store=`1` &storeLocation=`session` ...]]
[[!FormItRetriever? &storeLocation=`session`]]

The data gets written to the cache in this function and the normal Modx cache manager $this->modx->cacheManager is used.


To debug your problem, you could temporarily add the line
$this->modx->log(\modX::LOG_LEVEL_ERROR,$this->modx->toJson($data));

to the code to make sure, that the function is called with the right data.

1 Like

Thank you halftrainedharry. I’ll certainly give that a try.

I managed to test submitting the form using the workaround given and using session instead of cache which worked well for me and did the trick. I then set about looking at fixing the cache on a dev site and found I managed to fix that by changing the handler class to what was originally stated. This helped to achieve not only the form responses being dropped into the Thank You page yet also helped restore other items which wasn’t loaded through core/cache. Thanks to halftrainedharry for helping me get things back on track.