Cms Macros

(Difference between revisions)
Jump to: navigation, search
Line 5: Line 5:
 
The macros are resolved using CmsMacroResolver.  This "resolves macros in the form of ${key} in an input String.  The macro names that can be resolved depend of the context objects provided to the resolver using the set... methods."
 
The macros are resolved using CmsMacroResolver.  This "resolves macros in the form of ${key} in an input String.  The macro names that can be resolved depend of the context objects provided to the resolver using the set... methods."
  
Some examples:
+
The old macro delimeter is $.  The new one is %, as of 7.0
*${*} - resolves to any file
+
  
You can also use build in cms macros, such as:
+
If a macro is found that can not be mapped to a value by the given macro resolver, it is left untouched in the input.
 +
 
 +
Some examples:
 +
*${*} - resolves to any file, when passed into contentload
 
*${property.collector} - resolves to a property called collector
 
*${property.collector} - resolves to a property called collector
 
*${number} - resolves to any number
 
*${number} - resolves to any number
Line 21: Line 23:
  
  
Static Keys are listed at [http://www.opencms.org/export/javadoc/core/org/opencms/util/CmsMacroResolver.html].
+
A full list of macro Keys is at [http://www.opencms.org/export/javadoc/core/org/opencms/util/CmsMacroResolver.html].

Revision as of 18:40, 23 March 2007

Using Cms Macros

OpenCms has a macro language that you can use parameters to your jsp tags. This is particularly useful for cms:contentload.

The macros are resolved using CmsMacroResolver. This "resolves macros in the form of ${key} in an input String. The macro names that can be resolved depend of the context objects provided to the resolver using the set... methods."

The old macro delimeter is $. The new one is %, as of 7.0

If a macro is found that can not be mapped to a value by the given macro resolver, it is left untouched in the input.

Some examples:

  • ${*} - resolves to any file, when passed into contentload
  • ${property.collector} - resolves to a property called collector
  • ${number} - resolves to any number
  • ${property.xml-content} -

Will be replaced by the value of the property "xml-content"

  • ${opencms.uri} -

Will be replaced by the current OpenCms VFS URI. Its typical to use this with the singleFile collector a detail view jsp.

  • ${opencms.filename} -

Will be replaced by the resource name of the current xml content resource while looping through the single resources.

  • ${param.resourceType} -

Will be replaced by the value of the Http reuest parameter "resourceType.


A full list of macro Keys is at [1].

Personal tools
Namespaces
Variants
Actions
Navigation
Toolbox