[MAGNOLIA-4011] Exclusion of nodes not working on inheritable page components Created: 07/Mar/12 Updated: 19/Feb/13 Resolved: 19/Apr/12 |
|
| Status: | Closed |
| Project: | Magnolia |
| Component/s: | core |
| Affects Version/s: | 4.5 |
| Fix Version/s: | 4.5.3 |
| Type: | Bug | Priority: | Major |
| Reporter: | Federico Grilli | Assignee: | Tobias Mattsson |
| Resolution: | Fixed | Votes: | 1 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||||||||||
| Template: |
|
||||||||||||||||
| Acceptance criteria: |
Empty
|
||||||||||||||||
| Task DoD: |
[ ]*
Doc/release notes changes? Comment present?
[ ]*
Downstream builds green?
[ ]*
Solution information and context easily available?
[ ]*
Tests
[ ]*
FixVersion filled and not yet released
[ ] 
Architecture Decision Record (ADR)
|
||||||||||||||||
| Bug DoR: |
[ ]*
Steps to reproduce, expected, and actual results filled
[ ]*
Affected version filled
|
||||||||||||||||
| Date of First Response: | |||||||||||||||||
| Description |
|
Exclusion on components more fine-grained than page seems not to work in the context of a page. I.e. exclude /mysite/mypage/promos/0 |
| Comments |
| Comment by Federico Grilli [ 29/Mar/12 ] |
|
These are my current findings: |
| Comment by Tobias Mattsson [ 19/Apr/12 ] |
|
The problem is that the wrapper which excludes content based on the channel is applied in the renderer and passed to the template and the model. But in AggregationState/RenderingContext the content is available unwrapped. When an area is rendered the AreaElement which is invoked by the area directive takes the content from AggregationState and thus uses the unwrapped one. The reason it works for some areas is that AreaElement can also be given a node explicitly in the template. It is taken from the wrapped one given to the template by the renderer. The solution is to always place a wrapped node in AggregationState/RenderingContext before the template is rendered. This way it won't matter from where AreaElement takes the node. |