Adding Admin Tools

(Difference between revisions)
Jump to: navigation, search
m (mentioned macro resolution source code)
m (mentioned CmsMacroResolver.addMacro)
Line 18: Line 18:
 
               | "opencms.uri" | "opencms.filename" | "opencms.folder" | "opencms.default.encoding"
 
               | "opencms.uri" | "opencms.filename" | "opencms.folder" | "opencms.default.encoding"
  
See the method ''CmsMacroResolver.getMacroValue(String)'' for details. It is used indirectly by ''CmsTool.buttonHtml()'' which generates the HTML code for a tool button. The call is nested within ''I_CmsToolHandler.getParameters(CmsWorkplace)''
+
See the method ''CmsMacroResolver.getMacroValue(String)'' for details. It is used indirectly by ''CmsTool.buttonHtml()'' which generates the HTML code for a tool button. The call is nested within ''I_CmsToolHandler.getParameters(CmsWorkplace)''.
 +
 
 +
Another source of macro values is the additional macros list maintained by each ''CmsMacroResolver''. The ''CmsWorkplace'' has an instance of this class with public access via ''getMacroResolver()''. New macro values can be added with ''CmsMacroResolver.addMacro(String,String)'' where the first argument is the full macro name and the second is its value.
  
 
=== Explanation of the MacroPrefix values ===
 
=== Explanation of the MacroPrefix values ===

Revision as of 11:11, 20 February 2007

Admin Tool parameters

Tools can be given parameters which are automatically appended to the generated tool buttons. Parameters are set using the property admintoolhandler-args and may have the following syntax.

HandlerArgs:  "params:" ParamDef ("&" ParamDef)* "|" "path:" Path
Path:         VFS or other path
ParamDef:     Identifier "=" (MacroDef|Value)
Identifier:   String value
Value:        String value
MacroDef:     "${" (FixedMacro | (MacroPrefix "." MacroName)) "}"
MacroPrefix:  "key" | "param" | "pageContext" 
              | "property" | "elementProperty" 
MacroName:    String value
FixedMacro:   "currentuser.name" | "currentuser.firstname" | "currentuser.lastname" 
              | "currentuser.fullname" | "currentuser.email" | "currentuser.street"
              | "currentuser.zip" | "currentuser.city" | "currentuser.country"
              | "request.uri" | "request.folder" | "request.encoding" | "request.locale"
              | "currenttime"
              | "opencms.uri" | "opencms.filename" | "opencms.folder" | "opencms.default.encoding"

See the method CmsMacroResolver.getMacroValue(String) for details. It is used indirectly by CmsTool.buttonHtml() which generates the HTML code for a tool button. The call is nested within I_CmsToolHandler.getParameters(CmsWorkplace).

Another source of macro values is the additional macros list maintained by each CmsMacroResolver. The CmsWorkplace has an instance of this class with public access via getMacroResolver(). New macro values can be added with CmsMacroResolver.addMacro(String,String) where the first argument is the full macro name and the second is its value.

Explanation of the MacroPrefix values

key is a message bundle key.

param is a HTTP request parameter

pageContext is a JSP page context attribute

property is a VFS property of the requested tool's CMS resource

elementProperty a VFS property of the currently requested element which might be an included resource, not necessarily the resource requested by the user.

External Links

Adding a New Admin Tool

Personal tools
Namespaces
Variants
Actions
Navigation
Toolbox