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
Allow global page model access in fragments #1935
Allow global page model access in fragments #1935
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm not sure this is the correct approach. Having the fragments behave differently depending on the renderer isn't really good to me. Also, if your fragment's __invoke
method has an argument for PageModel $pageModel
, the object would automatically resolved through our controller resolver.
I agree its cumbersome not to have the page object. But I think we should have a way where the behavior is the same for all fragment types. The only question to me is whether the (non-esi) fragments must have access to the real global $objPage
or if it could be a new instance?
Huh, I didn't know that, may be we should document that 😁 . And this will be the global page object?
Well, if it's a new instance, then the module cannot change the page title, description etc., like the newsreader module would do for example. |
If your function argument is a subclass if Be aware that you can inject any request attribute automatically in your controller, your listener just converts the attribute.
That's true. Changing the page title would obviously not work for ESI requests anyway. However, I'm not sure we should add support for that – specifically because doing that is actually kind of wrong: the page controller should (be able to) define the title, not through a fragment. But thats another story... |
Yes, but that's what we have to do in the current state of Contao. And so currently in a fragment controller, you still need to use And even if you don't need to do that and only need information from the page object, it is still more efficient to access |
To be honest, I found it strange ever since that the 'global page' model could be altered during the request. It's like starting an edit but never saving it (and therefore the need to detach it from the manager). Imo we should find a better abstraction for this and maybe use |
I tend to agree with @m-vo. Since we introduced page controllers in Contao 4.10, we should probably consider this "the solution" to modifying the page title. Only pages are supposed to tell about the page title, none of the fragments should take care of this. |
Yes, but the issue isn't just about altering the global page object. It's also about simply accessing it. The current implementation leads to an additional, unnecessary database query. Surely it would make sense to prevent this? And even if you implement a page controller in the future: the fragment still needs access to the model of the page. |
I've just stumbled over this, using Fun fact: in |
most likely because it has been copied from the original request. -- Maybe we should add a service that provides the current page model instead of retrieving it from the request parameter? That service could then look into the request or |
I still consider it a bug that the |
See #2506 |
Description ----------- | Q | A | -----------------| --- | Fixed issues | Fixes #1935 As discussed on Mumble on the 2020-11-19, this should make the (global) page model available in the fragment controllers. Commits ------- 03e7c41 Add global page model for fragments (replaces #1935) a5c2326 Cast values for comparison 826748d Added unit tests 00eeb72 CS 29ea202 CS 0e09e4e Merge branch '4.9' into bugfix/page-argument
Description ----------- | Q | A | -----------------| --- | Fixed issues | Fixes #... | Docs PR or issue | contao/docs#... Commits ------- 13c00f1 Add the feature action to the permission checks (see #2524) Description ----------- | Q | A | -----------------| --- | Fixed issues | Fixes #2505 | Docs PR or issue | n/a See #2505. Commits ------- 6131435 Add feature action to permission check as well (see #2505) 55d85f3 Allow version 3 of toflar/psr6-symfony-http-cache-store (see #2522) Description ----------- Another step towards #2263. Commits ------- 2efea3b Allow version 3 of toflar/psr6-symfony-http-cache-store 1cc3754 Increase undo expiry date (see #2528) Description ----------- | Q | A | -----------------| --- | Fixed issues | - | Docs PR or issue | - I really think the default undo period of 24h is not a good default (which is why I think it should be changed in 4.9 LTS too). For me, there are two use cases our current undo system can cover: 1. The immediate "Oh, I deleted something which I shouldn't have" case: 24 hours are enough 2. The customer did something over the weekend and you get a report on Monday that something was deleted: 24 hours are likely not enough. So 30 days by default seem totally okay to me. It makes no sense to store undo entries that date back a year or so. Commits ------- 7d7f01e Increase undo expiry date 7efdef4 Trigger the onload_callback when featuring news (see #2531) Description ----------- | Q | A | -----------------| --- | Fixed issues | Fixes #2485 | Docs PR or issue | - Commits ------- dee7c1d Trigger the onload_callback when featuring news bc8447d Trigger the onload_callback when featuring news/events (see #2532) Description ----------- | Q | A | -----------------| --- | Fixed issues | Fixes #2485 | Docs PR or issue | - Same PR as #2531 for Contao 4.10 where we also have featured events. Commits ------- c3a849c Trigger the onload_callback when featuring news/events 67c7b18 Backport the doctrine-cache-bundle changes (see #2534) Description ----------- Backports the changes from #1916 to Contao 4.9 to make it compatible with PHP 8 (see #2263). Commits ------- ba9d21f Backport the doctrine-cache-bundle changes d1103e9 CS 3feda71 Add compatibility with PHP 8 (see #2535) Description ----------- See #2263 and #2291 ### TODO * [x] Fix the tests. * [x] Wait if sebastianbergmann/php-code-coverage#837 gets merged and then use PHPUnit 8.5 for all PHP versions. * [ ] <del>Click through the back end and front end and fix all warnings.</del> Commits ------- 8ad6149 Add PHP 8.0 to the CI chain 7b8729e Fix the unit and functional tests 47c14db Use 127.0.0.1 instead of localhost in the functional tests 938836c Always set the ACCEPT_LANGUAGE header in the functional tests a4199ec Use PHPUnit 8.5 for all PHP versions 7ffbd26 Adjust the error level in PHP 8 4ce6b27 Merge branch '4.9' into fix/php8 24b1d71 Update the changelog and the language files (see #2541) Description ----------- - Commits ------- a55a7f2 Update the changelog and the language files d19cb6c Add a missing PHPStan dependency (see #2543) Description ----------- - Commits ------- 288bc91 Add a missing PHPStan dependency 80b6469 Merge branch '4.4' into 4.9 # Conflicts: # installation-bundle/src/Resources/translations/messages.fr.xlf # news-bundle/src/Resources/contao/dca/tl_news.php ffebcd7 Fix issues found by the PhpStorm code inspector (see #2544) Description ----------- Function arguments renaming → forward compat with PHP 8. Commits ------- d6b22e4 Fix issues found by the PhpStorm code inspector 1fb0b96 More fixes e2544f4 And even more e6c4b18 Add global page model for fragments (see #2506) Description ----------- | Q | A | -----------------| --- | Fixed issues | Fixes #1935 As discussed on Mumble on the 2020-11-19, this should make the (global) page model available in the fragment controllers. Commits ------- 03e7c41 Add global page model for fragments (replaces #1935) a5c2326 Cast values for comparison 826748d Added unit tests 00eeb72 CS 29ea202 CS 0e09e4e Merge branch '4.9' into bugfix/page-argument 77c79be Do not try to generate fragments for generated fragments (see #2521) Description ----------- If a fragment has multiple methods with different fragment type (e.g. a content element and a front end module), the first RegisterFragmentsPass creates a child definition that inherits all tags from the original. On the next run, the RegisterFragmentsPass would pick up the child definition and try to create duplicate fragments. Commits ------- cc5d72c Do not try to generate fragments for generated fragments a0b92bb CS 4b8bc8f Merge branch '4.9' into bugfix/fragment-children 8605bc4 Allow caption to be a textarea rather than a text field (see #2527) Description ----------- An image caption shouldn't be limited to 255 chars only, that makes no sense to me. That's the result: <img width="1174" alt="Bildschirmfoto 2020-11-27 um 13 12 19" src="https://user-images.githubusercontent.com/481937/100448322-60b94a80-30b2-11eb-88f2-99f8fb499e4d.png"> Commits ------- 06f57ee Allow caption to be a textarea rather than a text field limited to 255 chars b346f65 CS 0c23a1f Merge branch '4.9' into fix/allow-textarea-for-meta-caption 244d845 Move migrations to core bundle (see #2545) Description ----------- | Q | A | -----------------| --- | Fixed issues | Fixes #2364 Commits ------- 1d6f417 Move migrations to core bundle 20dfde3 Fix missing globals array 51fb5c7 PHPStan 5034731 Pass the filesystem as dependency and remove the Contao 3 migrations 66231e7 Fix compatibility with scssphp 1.4 (see #2547) Description ----------- | Q | A | -----------------| --- | Fixed issues | Fixes #2495 ### ToDos - [ ] Revert contao/conflicts@820074e once this got merged and released (4.9 and upstream). Commits ------- 961abaa Set the file path to fix compatibility with scssphp 1.4 946940d Run the CS fixer (see #2548) Description ----------- - Commits ------- 29af160 Run the CS fixer 0df5442 Do not index preview URLs for searching (see #2550) Description ----------- | Q | A | -----------------| --- | Fixed issues | Fixes #2507 | Docs PR or issue | - @Toflar: If the `X-Robots-Tag` header or the meta robots tag contains `noindex`, the listener will not pass the document to the indexer at all. This means that potentially existing entries will not be deleted. Is this OK? Commits ------- 17d0e8a Do not index preview URLs for searching 137d410 Correctly load the DCA labels (see #2540) Description ----------- | Q | A | -----------------| --- | Fixed issues | Fixes #2536 see #2536 for the discussion Commits ------- cb3740c Correctly load the DCA labels 64d2350 Merge branch '4.9' into bugfix/dca-labels 103649e Fix the cache tag invalidation (see #2551) Description ----------- | Q | A | -----------------| --- | Fixed issues | Fixes #2137 | Docs PR or issue | - This is currently a proof of concept that should work for news and events. @Toflar @ausi Can you confirm that my implementation is what you had in mind? ### TODO * [x] Add a general tag without ID for the top parent record * [x] Implement cache tagging for the other elements and modules Commits ------- b523f61 Fix the cache tag invalidation 64c4cdc CS 4b61ac2 Do not double tag the content elements 5b4a03d Add a tag for the top parent element 996694e Add tagging for the missing modules 601247f Also tag the comments 90caa2a Strip port numbers from root page domains (see #2553) Description ----------- | Q | A | -----------------| --- | Fixed issues | Fixes #2214 | Docs PR or issue | - Tested against https://regex101.com/r/jU0OrQ/2 Commits ------- 52e85cd Strip port numbers from root page domains 48a0c3c Improve the regex Co-authored-by: Martin Auswöger <martin@auswoeger.com> bacb48b Clean up before the release (see #2560) Description ----------- - Commits ------- 7db3c54 Clean up before the release 41b89f2 Update the changelog and the language files (see #2561) Description ----------- - Commits ------- 6c50c48 Update the changelog and the language files 918884c Update the changelog 5eb206f Merge branch '4.9' into 4.10 # Conflicts: # calendar-bundle/src/Resources/contao/languages/fr/tl_calendar_feed.xlf # composer.json # core-bundle/src/Command/InstallCommand.php # core-bundle/src/Command/SymlinksCommand.php # core-bundle/src/DependencyInjection/Compiler/RegisterFragmentsPass.php # core-bundle/src/Migration/Version408/Version480Update.php # core-bundle/src/Resources/contao/dca/tl_page.php # core-bundle/src/Resources/contao/library/Contao/Controller.php # core-bundle/src/Resources/contao/library/Contao/DcaExtractor.php # core-bundle/src/Resources/contao/library/Contao/InsertTags.php # core-bundle/src/Resources/contao/modules/Module.php # core-bundle/tests/Contao/Database/ResultTest.php # core-bundle/tests/Functional/RoutingTest.php # core-bundle/tests/Security/Authentication/RememberMe/ExpiringTokenBasedRememberMeServicesTest.php # installation-bundle/src/Database/Version330Update.php # manager-bundle/composer.json # manager-bundle/src/Resources/skeleton/config/config.yml # manager-bundle/tests/ContaoManager/PluginTest.php # monorepo.yml # news-bundle/src/Resources/contao/dca/tl_news.php # news-bundle/src/Resources/contao/languages/fr/tl_news_feed.xlf 695843a Clean up after the upstream merge (see #2564) Description ----------- - Commits ------- 950581e Clean up after the upstream merge 280339c Update the changelog and the language files (see #2565) Description ----------- - Commits ------- 5d2cada Update the changelog and the language files b7567a8 Merge branch '4.10' into master # Conflicts: # calendar-bundle/composer.json # comments-bundle/composer.json # composer.json # core-bundle/composer.json # core-bundle/src/Resources/contao/languages/fr/tl_article.xlf # core-bundle/src/Resources/contao/languages/fr/tl_form_field.xlf # core-bundle/src/Resources/contao/languages/fr/tl_image_size_item.xlf # core-bundle/src/Resources/contao/languages/fr/tl_layout.xlf # core-bundle/src/Resources/contao/languages/fr/tl_member.xlf # core-bundle/src/Resources/contao/languages/fr/tl_member_group.xlf # core-bundle/src/Resources/contao/languages/fr/tl_style_sheet.xlf # core-bundle/src/Resources/contao/languages/fr/tl_theme.xlf # core-bundle/src/Resources/contao/languages/fr/tl_user.xlf # core-bundle/src/Resources/contao/languages/fr/tl_user_group.xlf # core-bundle/tests/Contao/SearchTest.php # faq-bundle/composer.json # installation-bundle/composer.json # installation-bundle/src/Database/Version330Update.php # installation-bundle/src/Database/Version350Update.php # listing-bundle/composer.json # manager-bundle/composer.json # news-bundle/composer.json # news-bundle/src/Resources/contao/languages/cs/default.xlf # news-bundle/src/Resources/contao/languages/cs/tl_layout.xlf # news-bundle/src/Resources/contao/languages/cs/tl_news_feed.xlf # news-bundle/src/Resources/contao/languages/cs/tl_user_group.xlf # newsletter-bundle/composer.json
Description ----------- | Q | A | -----------------| --- | Fixed issues | Fixes #... | Docs PR or issue | contao/docs#... Commits ------- 13c00f1 Add the feature action to the permission checks (see contao#2524) Description ----------- | Q | A | -----------------| --- | Fixed issues | Fixes contao#2505 | Docs PR or issue | n/a See contao#2505. Commits ------- 6131435 Add feature action to permission check as well (see contao#2505) 55d85f3 Allow version 3 of toflar/psr6-symfony-http-cache-store (see contao#2522) Description ----------- Another step towards contao#2263. Commits ------- 2efea3b Allow version 3 of toflar/psr6-symfony-http-cache-store 1cc3754 Increase undo expiry date (see contao#2528) Description ----------- | Q | A | -----------------| --- | Fixed issues | - | Docs PR or issue | - I really think the default undo period of 24h is not a good default (which is why I think it should be changed in 4.9 LTS too). For me, there are two use cases our current undo system can cover: 1. The immediate "Oh, I deleted something which I shouldn't have" case: 24 hours are enough 2. The customer did something over the weekend and you get a report on Monday that something was deleted: 24 hours are likely not enough. So 30 days by default seem totally okay to me. It makes no sense to store undo entries that date back a year or so. Commits ------- 7d7f01e Increase undo expiry date 7efdef4 Trigger the onload_callback when featuring news (see contao#2531) Description ----------- | Q | A | -----------------| --- | Fixed issues | Fixes contao#2485 | Docs PR or issue | - Commits ------- dee7c1d Trigger the onload_callback when featuring news bc8447d Trigger the onload_callback when featuring news/events (see contao#2532) Description ----------- | Q | A | -----------------| --- | Fixed issues | Fixes contao#2485 | Docs PR or issue | - Same PR as contao#2531 for Contao 4.10 where we also have featured events. Commits ------- c3a849c Trigger the onload_callback when featuring news/events 67c7b18 Backport the doctrine-cache-bundle changes (see contao#2534) Description ----------- Backports the changes from contao#1916 to Contao 4.9 to make it compatible with PHP 8 (see contao#2263). Commits ------- ba9d21f Backport the doctrine-cache-bundle changes d1103e9 CS 3feda71 Add compatibility with PHP 8 (see contao#2535) Description ----------- See contao#2263 and contao#2291 ### TODO * [x] Fix the tests. * [x] Wait if sebastianbergmann/php-code-coverage#837 gets merged and then use PHPUnit 8.5 for all PHP versions. * [ ] <del>Click through the back end and front end and fix all warnings.</del> Commits ------- 8ad6149 Add PHP 8.0 to the CI chain 7b8729e Fix the unit and functional tests 47c14db Use 127.0.0.1 instead of localhost in the functional tests 938836c Always set the ACCEPT_LANGUAGE header in the functional tests a4199ec Use PHPUnit 8.5 for all PHP versions 7ffbd26 Adjust the error level in PHP 8 4ce6b27 Merge branch '4.9' into fix/php8 24b1d71 Update the changelog and the language files (see contao#2541) Description ----------- - Commits ------- a55a7f2 Update the changelog and the language files d19cb6c Add a missing PHPStan dependency (see contao#2543) Description ----------- - Commits ------- 288bc91 Add a missing PHPStan dependency 80b6469 Merge branch '4.4' into 4.9 # Conflicts: # installation-bundle/src/Resources/translations/messages.fr.xlf # news-bundle/src/Resources/contao/dca/tl_news.php ffebcd7 Fix issues found by the PhpStorm code inspector (see contao#2544) Description ----------- Function arguments renaming → forward compat with PHP 8. Commits ------- d6b22e4 Fix issues found by the PhpStorm code inspector 1fb0b96 More fixes e2544f4 And even more e6c4b18 Add global page model for fragments (see contao#2506) Description ----------- | Q | A | -----------------| --- | Fixed issues | Fixes contao#1935 As discussed on Mumble on the 2020-11-19, this should make the (global) page model available in the fragment controllers. Commits ------- 03e7c41 Add global page model for fragments (replaces contao#1935) a5c2326 Cast values for comparison 826748d Added unit tests 00eeb72 CS 29ea202 CS 0e09e4e Merge branch '4.9' into bugfix/page-argument 77c79be Do not try to generate fragments for generated fragments (see contao#2521) Description ----------- If a fragment has multiple methods with different fragment type (e.g. a content element and a front end module), the first RegisterFragmentsPass creates a child definition that inherits all tags from the original. On the next run, the RegisterFragmentsPass would pick up the child definition and try to create duplicate fragments. Commits ------- cc5d72c Do not try to generate fragments for generated fragments a0b92bb CS 4b8bc8f Merge branch '4.9' into bugfix/fragment-children 8605bc4 Allow caption to be a textarea rather than a text field (see contao#2527) Description ----------- An image caption shouldn't be limited to 255 chars only, that makes no sense to me. That's the result: <img width="1174" alt="Bildschirmfoto 2020-11-27 um 13 12 19" src="https://user-images.githubusercontent.com/481937/100448322-60b94a80-30b2-11eb-88f2-99f8fb499e4d.png"> Commits ------- 06f57ee Allow caption to be a textarea rather than a text field limited to 255 chars b346f65 CS 0c23a1f Merge branch '4.9' into fix/allow-textarea-for-meta-caption 244d845 Move migrations to core bundle (see contao#2545) Description ----------- | Q | A | -----------------| --- | Fixed issues | Fixes contao#2364 Commits ------- 1d6f417 Move migrations to core bundle 20dfde3 Fix missing globals array 51fb5c7 PHPStan 5034731 Pass the filesystem as dependency and remove the Contao 3 migrations 66231e7 Fix compatibility with scssphp 1.4 (see contao#2547) Description ----------- | Q | A | -----------------| --- | Fixed issues | Fixes contao#2495 ### ToDos - [ ] Revert contao/conflicts@820074e once this got merged and released (4.9 and upstream). Commits ------- 961abaa Set the file path to fix compatibility with scssphp 1.4 946940d Run the CS fixer (see contao#2548) Description ----------- - Commits ------- 29af160 Run the CS fixer 0df5442 Do not index preview URLs for searching (see contao#2550) Description ----------- | Q | A | -----------------| --- | Fixed issues | Fixes contao#2507 | Docs PR or issue | - @Toflar: If the `X-Robots-Tag` header or the meta robots tag contains `noindex`, the listener will not pass the document to the indexer at all. This means that potentially existing entries will not be deleted. Is this OK? Commits ------- 17d0e8a Do not index preview URLs for searching 137d410 Correctly load the DCA labels (see contao#2540) Description ----------- | Q | A | -----------------| --- | Fixed issues | Fixes contao#2536 see contao#2536 for the discussion Commits ------- cb3740c Correctly load the DCA labels 64d2350 Merge branch '4.9' into bugfix/dca-labels 103649e Fix the cache tag invalidation (see contao#2551) Description ----------- | Q | A | -----------------| --- | Fixed issues | Fixes contao#2137 | Docs PR or issue | - This is currently a proof of concept that should work for news and events. @Toflar @ausi Can you confirm that my implementation is what you had in mind? ### TODO * [x] Add a general tag without ID for the top parent record * [x] Implement cache tagging for the other elements and modules Commits ------- b523f61 Fix the cache tag invalidation 64c4cdc CS 4b61ac2 Do not double tag the content elements 5b4a03d Add a tag for the top parent element 996694e Add tagging for the missing modules 601247f Also tag the comments 90caa2a Strip port numbers from root page domains (see contao#2553) Description ----------- | Q | A | -----------------| --- | Fixed issues | Fixes contao#2214 | Docs PR or issue | - Tested against https://regex101.com/r/jU0OrQ/2 Commits ------- 52e85cd Strip port numbers from root page domains 48a0c3c Improve the regex Co-authored-by: Martin Auswöger <martin@auswoeger.com> bacb48b Clean up before the release (see contao#2560) Description ----------- - Commits ------- 7db3c54 Clean up before the release 41b89f2 Update the changelog and the language files (see contao#2561) Description ----------- - Commits ------- 6c50c48 Update the changelog and the language files 918884c Update the changelog 5eb206f Merge branch '4.9' into 4.10 # Conflicts: # calendar-bundle/src/Resources/contao/languages/fr/tl_calendar_feed.xlf # composer.json # core-bundle/src/Command/InstallCommand.php # core-bundle/src/Command/SymlinksCommand.php # core-bundle/src/DependencyInjection/Compiler/RegisterFragmentsPass.php # core-bundle/src/Migration/Version408/Version480Update.php # core-bundle/src/Resources/contao/dca/tl_page.php # core-bundle/src/Resources/contao/library/Contao/Controller.php # core-bundle/src/Resources/contao/library/Contao/DcaExtractor.php # core-bundle/src/Resources/contao/library/Contao/InsertTags.php # core-bundle/src/Resources/contao/modules/Module.php # core-bundle/tests/Contao/Database/ResultTest.php # core-bundle/tests/Functional/RoutingTest.php # core-bundle/tests/Security/Authentication/RememberMe/ExpiringTokenBasedRememberMeServicesTest.php # installation-bundle/src/Database/Version330Update.php # manager-bundle/composer.json # manager-bundle/src/Resources/skeleton/config/config.yml # manager-bundle/tests/ContaoManager/PluginTest.php # monorepo.yml # news-bundle/src/Resources/contao/dca/tl_news.php # news-bundle/src/Resources/contao/languages/fr/tl_news_feed.xlf 695843a Clean up after the upstream merge (see contao#2564) Description ----------- - Commits ------- 950581e Clean up after the upstream merge 280339c Update the changelog and the language files (see contao#2565) Description ----------- - Commits ------- 5d2cada Update the changelog and the language files b7567a8 Merge branch '4.10' into master # Conflicts: # calendar-bundle/composer.json # comments-bundle/composer.json # composer.json # core-bundle/composer.json # core-bundle/src/Resources/contao/languages/fr/tl_article.xlf # core-bundle/src/Resources/contao/languages/fr/tl_form_field.xlf # core-bundle/src/Resources/contao/languages/fr/tl_image_size_item.xlf # core-bundle/src/Resources/contao/languages/fr/tl_layout.xlf # core-bundle/src/Resources/contao/languages/fr/tl_member.xlf # core-bundle/src/Resources/contao/languages/fr/tl_member_group.xlf # core-bundle/src/Resources/contao/languages/fr/tl_style_sheet.xlf # core-bundle/src/Resources/contao/languages/fr/tl_theme.xlf # core-bundle/src/Resources/contao/languages/fr/tl_user.xlf # core-bundle/src/Resources/contao/languages/fr/tl_user_group.xlf # core-bundle/tests/Contao/SearchTest.php # faq-bundle/composer.json # installation-bundle/composer.json # installation-bundle/src/Database/Version330Update.php # installation-bundle/src/Database/Version350Update.php # listing-bundle/composer.json # manager-bundle/composer.json # news-bundle/composer.json # news-bundle/src/Resources/contao/languages/cs/default.xlf # news-bundle/src/Resources/contao/languages/cs/tl_layout.xlf # news-bundle/src/Resources/contao/languages/cs/tl_news_feed.xlf # news-bundle/src/Resources/contao/languages/cs/tl_user_group.xlf # newsletter-bundle/composer.json
Currently fragment controllers for content elements and front end modules only receive the ID of the page model of the current page in their
pageModel
request attribute, whereas everywhere else thepageModel
request attribute is actually the global page model object itself.This means that fragments are not able to access the global page model object at all, if they do not want to use
global $objPage
or$GLOBALS['objPage']
, since the global page object is detached from the model registry. Thus you couldn't implement something likeModuleNewsreader
as a fragment, without resorting to accessing the global variable, since the module needs to be able to modify the current global page object.As far as I understand it, the
pageModel
only needs to be an ID foresi
rendered fragments, but not really forinline
orforward
rendered fragments. Therefore this PR would change this behaviour.However - why does this distinction need to be made at all? Isn't the global page object missing anyway (and thus also the
pageModel
request attribute), when rendering anesi
fragment?