Re: [FreeMarker-user] can a macro have 2 nested areas?
Generates text that depends on changing data (like dynamic HTML).
Brought to you by:
revusky
From: Daniel L. <D....@ui...> - 2012-05-28 12:43:55
|
Wouldn't this also work? <#macro head> ... </#macro> <@page> </@page> and then inside the page macro definition, use <@head/> ? I remember having used something like that. The only downside being that you have to remember to define all the macros you use, even if empty, in all the places you use the general macro. S! D. El 28/05/2012 13:07, Daniel Dekany escribió: > A macro call can have only one piece of nested content. You had to > pass in the JavaScript as a parameter to the macro. Unfortunately, > there's no syntactical sugar for passing in anonymous macros as > parameters, so what you have to do is: > > <#macro myJSGenerator> > ... > </#macro> > <@page javascript=myJSGenerator> > ... > </@page> > > Then inside the page macro you had to do something like: > > <head> > <#if javascript?is_directive><@javascript/><#else>${javascript}</#if> > </head> > > so now the javascript parameter can be a string or a macro that prints > javascript. > > > Monday, May 28, 2012, 5:15:49 AM, S Ahmed wrote: > >> My page template macro looks like: >> >> <#macro page ...> >> >> <html> >> .. >> <head> >> JAVASCRIPT HERE >> </head> >> <body> >> ... >> <#nested> >> .. >> </body> >> </html> >> >> </#macro> >> >> >> But I want to be able to do is, from within another ftl page that >> uses the above macro, I want to inject javascript in the section in the head of the html, so like: >> >> >> <#macro page ...> >> >> <html> >> .. >> <head> >> JAVASCRIPT HERE >> <#javascript> >> </head> >> <body> >> ... >> <#nested> >> .. >> </body> >> </html> >> >> </#macro> >> >> >> Is that possible? >> > -- ------------------------------------------- Daniel Lopez Janariz (D....@ui...) Web Services Balearic Islands University (SPAIN) ------------------------------------------- |