Cms Macros

From OpenCms Wiki
Jump to: navigation, search

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.

Key examples

  • ${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].

Other values

You can pass in other values, too, that will be left alone and passed on to the Cms Resource Collector.

Examples:

  • ${*}.{*} - resolves to any file with an extension
Personal tools
Namespaces
Variants
Actions
Navigation
Toolbox