It doesn't look like it works---I think the dot is confusing the macro
parser. #urlencode("Test ${article}") will call the Article object's
ToString() method, but #urlencode("Test ${article.linkurl}") works the
same as without the curly braces.
It's not a big deal, but it'd be nice if I could simplify the syntax
(and the logic) for our graphic designers.
-Mike
On Jun 13, 8:02 am, Ricardo Lopes <[email protected]> wrote:
> The few times I used macros I passed objects and accessed the object
> properties inside the macro.
>
> Try using the formal notation:
>
> #urlencode(${article.linkurl})
> #urlencode("Test ${article.linkurl}")
>
> 2009/6/13 Jonathon Rossi <[email protected]>
>
>
>
> > Macro's aren't really supported because there are quite a lot of issues
> > with them.
>
> > It would be less painful to create a helper class (which it looks like you
> > already have) with the functionality of the macro, which also makes it
> > testable.
>
> > On Wed, Jun 10, 2009 at 4:11 AM, Mike Bridge <[email protected]>wrote:
>
> >> Hi-
>
> >> I was wondering if this should work:
>
> >> #macro(urlencode $querystring)$nvurlutils.urlencode($querystring)#end
>
> >> #set($url = "Test $article.linkurl")
>
> >> Test 1: $nvurlutils.urlencode("Test $article.linkurl")
> >> Test 2: #urlencode($url)
> >> Test 3: #urlencode($article.linkurl)
> >> Test 4: #urlencode("Test $article.linkurl")
>
> >> What I'm getting is:
>
> >> Test 1: Test+http%3a%2f%2fwww.google.ca%2fsearch%3fq%3dCastle
> >> Test 2: Test+http%3a%2f%2fwww.google.ca%2fsearch%3fq%3dCastle
> >> Test 3:
> >> Test 4: Test
>
> >> Test 1 & 2 are as expected, but Test 3 & 4 don't seem to dereference
> >> my object & data accessor inside the macro.
>
> >> I'm wondering why I can't seem to pass in an object reference---is it
> >> a scoping problem in the macro? As I understand it, a macro
> >> parameter is passed by name and is dereferenced inside the macro, but
> >> for some reason it doesn't seem to be available there.
>
> >> Thanks,
>
> >> -Mike
>
> > --
> > Jono
>
> --
>
> Ricardo Lopes
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"Castle Project Users" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/castle-project-users?hl=en
-~----------~----~----~----~------~----~------~--~---