htmlcache
htmlcache copied to clipboard
HtmlCahe caches only one page and shows this pages to all pages
We had the next problem: HtmlCahe caches only one page and shows these pages to all pages. We had this problem. The problem was that to get request URL, the plugin uses request->getParam('p'). It's '' an empty string in our system occasionally. So we created "p" query string in our module to fix this problem.
And here is the code that did this:
class HtmlCachePluginBugFixer
{
private $request;
public function __construct(Request $request)
{
$this->request = $request;
}
// HtmlCache Plugin have the issue - it requires query parameter p with page url for work.
// This method fixes this issue.
public function fixMissingPParameterInRequest()
{
$uri = $this->request->getUrl();
$requestQueryParams = $this->request->getQueryParams();
$requestQueryParams['p'] = $uri;
$this->request->setQueryParams($requestQueryParams);
}
}
And here is how it executes in our module:
$htmlCachePluginBugFixer = new HtmlCachePluginBugFixer(\Craft::$app->request);
$htmlCachePluginBugFixer->fixMissingPParameterInRequest();
I also have this problem - the above fix didn't work for me.
I also have this problem - the above fix didn't work for me.
Strange. Worked for me. We've added the fix in our custom module code. Where did you added the fix code?