Hi Arnaud,

On 10/26/2010 12:38 PM, Arnaud bourree wrote:
> Hello,
>
> I develop a macro which display object attached to the current page.
> Here summary of my code:
> {{goovy}}
> def topic = doc.getObject("ActivityReport.TopicClass",
> Integer.valueOf(xcontext.macro.params.id))
> println "|"+doc.displayPrettyName("topic", title)+"|"+topic.get("title")
> println "|"+doc.displayPrettyName("topic", action)+"|"+topic.get("action")
> println "|"+doc.displayPrettyName("topic", status)+"|"+topic.get("status")
> {{/groovy}}
>
> In my macro page, I put one instance of my TopicClass for development.
> That working fine.
> In an other page I put an other instance and call my macro.
> It display instance from macro page !!!

Indeed. I just tested a wiki macro with this code:

----------8<----------
{{velocity}}
$doc | $xcontext.doc
{{/velocity}}

{{groovy}}
print doc.toString() + " | " + xcontext.doc.toString()
{{/groovy}}
---------->8----------

and the result is:

----------8<----------
Sandbox.FF | Sandbox.WikiMacroTest

Sandbox.WikiMacroTest | Sandbox.WikiMacroTest
---------->8----------

As you can see $doc points to the right document in velocity but to the 
wiki macro document in groovy. This looks like a bug to me. Can you 
report an issue on http://jira.xwiki.org/jira/browse/XWIKI .

Thanks,
Marius

>
> I suppose that I should not used doc to find current document in macro.
> But I don't find in
> http://platform.xwiki.org/xwiki/bin/view/DevGuide/WikiMacroTutorial
> how to retrieved current document.
> I also test xcontext.doc, but it is same as doc.
>
> So how can find current document (the document which call my macro)?
>
> Regards,
>
> Arnaud.
> _______________________________________________
> users mailing list
> [email protected]
> http://lists.xwiki.org/mailman/listinfo/users
_______________________________________________
users mailing list
[email protected]
http://lists.xwiki.org/mailman/listinfo/users

Reply via email to