Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Increase usage of the internal menu cache #78

Closed
lochmueller opened this issue Sep 29, 2022 · 2 comments
Closed

Increase usage of the internal menu cache #78

lochmueller opened this issue Sep 29, 2022 · 2 comments

Comments

@lochmueller
Copy link
Contributor

Hey @bmack

we have a very large site incl. a "Mega Navigation" (multiple layer and also images etc.). In the backend I also use this workaround #51 , but we need more speed in the generation process. The current tree compile calculate the tree and cache this, but the fluid template still use 30-40% of the rendering time in frontend on every page (many page link, image viewhelper, reselction etc.).

So the idea was born, that we enrich the "populateAdditionalKeysForPage" function and precalculate more information for a page. The compiler use also the rendered language in the cache identifier, so it is possible to calculate images, links etc. in this function. The template is only the "output helper" and there is no <f:page.link> or <f:image> anymore. This speed up the generation of next request because all menu information are already part of the cache.

What are your thoughts? Perhaps a PSR Event in populateAdditionalKeysForPage is useful in the future?

Regards,
Tim

@lochmueller
Copy link
Contributor Author

Hey @bmack ,

I add the basic idea to https://github.com/lochmueller/menus/commit/339d81dac53aa0cba55cd8f9ab0fbf021267b788 and this branch: https://github.com/lochmueller/menus/commits/menu-repository-event

Problem will be, that v9 is still supported (and do not support PSR-14 events).
Any plans to drop support for old TYPO3 & PHP?

Regards,
Tim

@achimfritz
Copy link
Contributor

Hi @lochmueller , yes, we are currently working on Release 1.0 and drop v9 (also proper DI will be used)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants