[MAGNOLIA-3572] Content wrapper hides java attributes and methods from freemarker (e.g. myContent.class.name) Created: 28/Feb/11 Updated: 04/Nov/15 Resolved: 04/Nov/15 |
|
| Status: | Closed |
| Project: | Magnolia |
| Component/s: | freemarker, templating |
| Affects Version/s: | 4.4.2 |
| Fix Version/s: | None |
| Type: | Bug | Priority: | Neutral |
| Reporter: | Will Scheidegger | Assignee: | Unassigned |
| Resolution: | Won't Do | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| 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 |
|
The "specificities" (see http://documentation.magnolia-cms.com/reference/templating/freemarker.html#WorkingwithMagnoliacontent) of how Magnolia handles content objects in Freemarker templates break all access to regular methods of the java object since the dot-notation is pretty much kidnapped and only node datas are returned. To "fix" that, special content properties starting with @... were introduced. It would been cleaner if the "@..." notation would have been used for accessing jcr attributes (i.e. node datas) and the rest would behave normally, so ${myContent.class} should return the Class object my calling the getClass() method. Of course this might be my personal preference, but fact is that I cannot call the getClass() method the way the wrapper ojbect works now but you could get both (JCR attribute and method()) the other way around. |
| Comments |
| Comment by Magnolia International [ 01/Mar/11 ] |
|
The argument in favor of the current implementation is that your template should not know about anything about Java, or contain any sort of "business" logic. |
| Comment by Michael Mühlebach [ 04/Nov/15 ] |
|
Given the thousands of other issues we have open that are more highly requested, we won't be able to address this issue in the foreseeable future. Instead we will focus on issues with a higher impact, and more votes. |