Changes for page Writing XWiki Rendering Macros in wiki pages
Last modified by Simon Urli on 2023/10/10
Change comment:
There is no comment for this version
Summary
-
Page properties (1 modified, 0 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -47,7 +47,7 @@ 47 47 48 48 1.1.1 Parameters 49 49 50 -Introducing a parameter to a wiki macro is pretty straight forward; you simply need to add an object of type XWiki.WikiMacroParameterClass into your wiki macro document (one object per parameter). This class contains several fields that allow syou to define your parameter clearly:50 +Introducing a parameter to a wiki macro is pretty straight forward; you simply need to add an object of type XWiki.WikiMacroParameterClass into your wiki macro document (one object per parameter). This class contains several fields that allow you to define your parameter clearly: 51 51 52 52 * Parameter name: Name of the parameter, users will refer this name when invoking your macro with parameters 53 53 ... ... @@ -55,10 +55,21 @@ 55 55 56 56 * Parameter mandatory: Indicates if this particular parameter is mandatory, wiki macro will fail to execute if a mandatory parameter is missing 57 57 58 +Now we're going to extend our hello macro with a parameter. We will introduce a parameter named ~~greetUser~~ that will indicate if the greeting message should be tailored for current user viewing the page. The definition of the parameter is show below: 59 + 60 +{image:macro3.png} 61 + 62 +A macro parameter defined this way can be accessed from any scripting language within the macro code. For an example, we are going to utilize our ~~greetUser~~ parameter within hello macro as below: 63 + 64 +{image:macro4.png} 65 + 58 58 #error("This section is being updated") 59 59 60 60 61 61 70 + 71 + 72 + 62 62 1.1 WYSIWYG Access 63 63 64 64 A wiki macros is treated just like any other rendering macro in the system. As such, the moment you save your wiki macro it will be available to the users through the WYSIWYG editor's *Insert Macro* dialog box: