Closed vlad-ghita closed 10 years ago
@vlad-ghita that's a good spot there, can you confirm this?
I stumbled on it already. Yes, I can confirm this.
If anyone knows how to achieve this, can you pick it up please?
Quick fix:
Uninstall Cachelite. Install Cachelite.
Hopefully, it will get the highest ID in tbl_extensions
table and thus fire latest (after URL Router).
Though I think Sym 2.3 executes extension delegates alphabetically in Extenion order ... sucks :(
Ideal option ... custom delegate execution order editable in Admin ;;)
Maybe @brendo can shed some light on how we could do this?
Agreed, CacheLite should be updated so that it waits for the page to be properly resolved first.
Would anyone like to take charge of this?
Depends on how fast you need it. I would do it, but could take a few days before I actually get to do it.
There's no urgency, just a need to take ownership of the update.
Really appreciate it Jens.
While there is no way to currently make Cachelite execute before URL Router (see #993), I think this issue can be solved by using the information that is passed via the delegate instead of using the $_GET
array.
The FrontendPageResolved
delegate passes back the page_data
of the resolved page, which contains the current page path which looks like it may simplify the logic of that _in_excluded_pages()
function.
@brendo Thanks. Will try that.
@jensscherbl
Any updates on this?
Will push an update next week, sorry for the delay.
There's a conflict between Cachelite and URL Router.
On line 19 in extension.driver.php you're caching the GET array.
On line 441 you're using the
symphony-page
variable from the cached GET array to determine if the page should be excluded or not from cache. However, in case of a setup using the URL Router extension, most probably this variable will not match the actual page path because of re-routing, thus resulting a false negative.I suggest Cachelite should subscribe to
FrontendPrePageResolve
delegate and after URL Router fired it's callback, Cachelite should use the page path generated by URL Router for further processing.