> For the complete documentation index, see [llms.txt](https://documentation.connexica.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://documentation.connexica.com/legacy-wiki/macros.md).

# Macros

{{velocity output="false"}} #macro (displayAppEntry $params) #if ($params.icon.startsWith('icon:')) #set ($icon = $services.icon.renderHTML($params.icon.substring(5))) #else #set ($icon = $services.rendering.render($services.rendering.parse("image:${params.icon}", 'xwiki/2.1'), 'xhtml/1.0')) #end

* [$icon $escapetool.xml($params.label)](broken://pages/0700a7c1228f1941d154cc58fc1664e80680157f)

\#end

\#macro (maybeDisplayAppEntry $uix $configDoc) #set ($params = $uix.getParameters()) #set ($blackListObj = $configDoc.getObject('PanelsCode.ApplicationsPanelBlackListClass', 'applicationId', $uix.id)) #set ($targetReference = $services.model.resolveDocument($params.target)) #if (!$blackListObj && "$!params.icon" != '' && "$!params.label" != '' && "$!params.target" != '' && $services.security.authorization.hasAccess('view', $targetReference)) #displayAppEntry($params) #end #end

\#macro (displayAppEntries $extensionPointId $configDoc) #foreach ($uix in $services.uix.getExtensions($extensionPointId, {'sortByParameter': 'label'})) #maybeDisplayAppEntry($uix $configDoc) #end #end {{/velocity}}
