#macro dictionaryTree dictionaryId inputName parentValue depth values>
<#if depth gt 0>
    <@cms.dictionaryDataList dictionaryId=dictionaryId parentValue=parentValue>
        <#if list?has_content>
        
            <#list list as d>
                - 
                    ${d.text}
                    <@dictionaryTree dictionaryId=dictionaryId inputName=inputName parentValue=d.id.value depth=depth-1 values=values/>
                #list>
#if>
    @cms.dictionaryDataList>
#if>
#macro>
<@cms.dictionaryExcludeValue dictionaryId=id excludeDictionaryId=excludeDictionaryId value=value><#assign a=object/>@cms.dictionaryExcludeValue>
<#if !a?has_content><@cms.dictionaryExcludeValue dictionaryId=id excludeDictionaryId=excludeDictionaryId value=parentValue><#assign a=object/>@cms.dictionaryExcludeValue>#if>