<#if path?has_content>
    <#if type?has_content>
        <@tools.placeMetadata path=path><#assign placeMetadata=object/></@tools.placeMetadata>
    <#else>
        <@tools.metadata path=path><#assign metadata=object/></@tools.metadata>
    </#if>
</#if>
<#assign urlExtendFieldTypes=['file','image','video']>
<#assign privateUrlExtendFieldTypes=['privatefile','privateimage','privatevideo']>
<#assign editorExtendFieldTypes=['editor','tinymce','ckeditor']>
<#macro getExtendDataHelp extend prefix>
<#if urlExtendFieldTypes?seq_contains(extend.inputType)>
<@getAction r'${getUrl('+prefix+extend.id.code+r')!}'/>
<#elseif editorExtendFieldTypes?seq_contains(extend.inputType)>
<@getAction r'${('+prefix+extend.id.code+r'?no_esc)!}'/>
<#elseif privateUrlExtendFieldTypes?seq_contains(extend.inputType)>
<@getAction r'${getPrivateUrl('+prefix+extend.id.code+r')!}'/>
<#elseif 'category'=extend.inputType>
    <#if extend.multiple>
<@getAction r'<@cms.category ids='+prefix+extend.id.code+r'><#list map as k,v><a href="${v.url}">${v.name}</a><#sep>,</#list></@cms.category>'/>
    <#else>
<@getAction r'<@cms.category id='+prefix+extend.id.code+r'><a href="${object.url}">${object.name}</a></@cms.category>'/>
    </#if>
<#elseif 'content'=extend.inputType>
    <#if extend.multiple>
<@getAction r'<@cms.content ids='+prefix+extend.id.code+r'><#list map as k,v><a href="${v.url}">${v.title}</a><#sep>,</#list></@cms.content>'/>
    <#else>
<@getAction r'<@cms.content id='+prefix+extend.id.code+r'><a href="${object.url}">${object.title}</a></@cms.content>'/>
    </#if>
<#elseif 'user'=extend.inputType>
    <#if extend.multiple>
<@getAction r'<@sys.user ids='+prefix+extend.id.code+r'><#list map as k,v><a href="${v.url}">${v.nickname}</a><#sep>,</#list></@sys.user>'/>
    <#else>
<@getAction r'<@sys.user id='+prefix+extend.id.code+r'>${object.nickname}</@sys.user>'/>
    </#if>
<#elseif 'tag'=extend.inputType>
    <#if extend.multiple>
<@getAction r'<@cms.tag ids='+prefix+extend.id.code+r'><#list map as k,v><a href="${v.url}">${v.name}</a><#sep>,</#list></@cms.tag>'/>
    <#else>
<@getAction r'<@cms.tag id='+prefix+extend.id.code+r'>${object.name}</@cms.tag>'/>
    </#if>
<#elseif 'color'=extend.inputType>
<@getAction r'<span style="color:${('+prefix+extend.id.code+r')!}">text</span>'/>
<#elseif 'survey'=extend.inputType>
    <#if extend.multiple>
<@getAction r'<@cms.survey ids='+prefix+extend.id.code+r'><#list map as k,v><a href="${v.url}">${v.title}</a><#sep>,</#list></@cms.survey>'/>
    <#else>
<@getAction r'<@cms.survey id='+prefix+extend.id.code+r'>${object.title}</@cms.survey>'/>
    </#if>
<#elseif 'vote'=extend.inputType>
    <#if extend.multiple>
<@getAction r'<@cms.vote ids='+prefix+extend.id.code+r'><#list map as k,v><a href="${v.url}">${v.title}</a><#sep>,</#list></@cms.vote>'/>
    <#else>
<@getAction r'<@cms.vote id='+prefix+extend.id.code+r'>${object.title}</@cms.vote>'/>
    </#if>
<#elseif 'tagType'=extend.inputType>
    <#if extend.multiple>
<@getAction r'<@cms.tagType ids='+prefix+extend.id.code+r'><#list map as k,v><a href="${v.url}">${v.name}</a><#sep>,</#list></@cms.tagType>'/>
    <#else>
<@getAction r'<@cms.tagType id='+prefix+extend.id.code+r'>${object.name}</@cms.tagType>'/>
    </#if>
<#elseif 'categoryType'=extend.inputType>
    <#if extend.multiple>
<@getAction r'<@cms.categoryType ids='+prefix+extend.id.code+r'><#list map as k,v><a href="${v.url}">${v.name}</a><#sep>,</#list></@cms.categoryType>'/>
    <#else>
<@getAction r'<@cms.categoryType id='+prefix+extend.id.code+r'>${object.name}</@cms.categoryType>'/>
    </#if>
<#elseif 'dictionary'=extend.inputType>
    <#if extend.multiple>
<@getAction r'<@cms.dictionaryData dictionaryId='+extend.dictionaryId+r' values='+prefix+extend.id.code+r'>'+'\n    '+r'<#list map as k,d>${k}:${d.text}<#sep>,</#list>'+'\n    '+r'</@cms.dictionaryData>'/>
    <#else>
<@getAction r'<@cms.dictionaryData dictionaryId='+extend.dictionaryId+r' value='+prefix+extend.id.code+r'>'+'\n    '+r'${object.id.value}:${object.text}'+'\n    '+r'</@cms.dictionaryData>'/>
    </#if>
<#elseif 'dept'=extend.inputType>
    <#if extend.multiple>
<@getAction r'<@sys.dept ids='+prefix+extend.id.code+r'><#list map as k,v><a href="${v.url}">${v.name}</a><#sep>,</#list></@sys.dept>'/>
    <#else>
<@getAction r'<@sys.dept id='+prefix+extend.id.code+r'>${object.name}</@sys.dept>'/>
    </#if>
<#elseif 'keyvalue'=extend.inputType>
<@getAction r'<table border="1"><thead><tr><th><@t.page "key"/></th><th><@t.page "value"/></th></tr></thead><tbody><#list '+prefix+extend.id.code+r'?split(",")?chunk(2) as row><tr><#list row as a><td>${a}</td></#list></tr></#list></tbody></table>'/>
<#elseif 'alphaColor'=extend.inputType>
<@getAction r'<div style="background-color:${('+prefix+extend.id.code+r')!}">text</div>'/>
<#elseif 'textarea'=extend.inputType>
<@getAction r'<#list ('+prefix+extend.id.code+r'!"")?split("\n") as a>${a}<#sep><br/></#list>'/>
<#else>
<@getAction r'${('+prefix+extend.id.code+r')!}'/>
</#if>
</#macro>
<#macro getAction code description=''>
onclick="JUI.instances[$('textarea.code',navTab.getCurrentPanel()).data('id')].replaceSelection('<#if description?has_content>${r'<#--'} ${description} ${r'-->'}\n</#if>${code?js_string}${description?has_content?then('\\n','')}');$.pdialog.closeCurrent();return false;"
</#macro>
<#macro childModel parent>
    <#if parent.hasChild>
        <@cms.modelList parentId=parent.id>
            <#if page.list?has_content>
    <ul>
            <#list page.list as m>
        <li>
            <a href="cmsModel/template.html?modelId=${m.id?url}" target="dialog" mask="true">${m.name!}</a>
            <@childModel m/>
        </li>
            </#list>
    </ul>
            </#if>
        </@cms.modelList>
    </#if>
</#macro>
<div class="tabs">
    <div class="tabsHeader">
        <ul>
            <li><a href="javascript:;" onclick="return false;"><@t.page 'help.echo'/></a></li>
            <#if metadata?has_content>
                <li><a href="javascript:;" onclick="return false;"><@t.page 'model'/></a></li>
            </#if>
            <li><a href="javascript:;" onclick="return false;"><@t.page 'help.directive_and_method'/></a></li>
            <li><a href="javascript:;" onclick="return false;"><@t.page 'help.config'/></a></li>
            <#if path?has_content><li><a href="javascript:;" onclick="return false;"><@t.page 'help.contribute_form'/></a></li></#if>
        </ul>
    </div>
    <div class="tabsContent">
        <div class="pageFormContent" layoutH>
            <ul class="tree treeFolder">
            <#if placeMetadata?has_content>
                <li>
                    <a href="javascript:;" onclick="return false;"><@t.page 'help.template_attribute'/></a>
                    <ul>
                        <li><a href="javascript:;" <@getAction r'${(metadata.alias)!}'/>><@t.page 'template.name'/></a></li>
                <#if placeMetadata.metadataExtendList?has_content>
                    <#list placeMetadata.metadataExtendList as extend>
                        <li><a href="javascript:;" <@getExtendDataHelp extend 'metadata.extendData.'/>><@t.page 'extend_field'/>:${extend.name}</a></li>
                    </#list>
                </#if>
                    </ul>
                </li>
                <#if placeMetadata.size gt 0 && placeMetadata.extendList?has_content>
                <li>
                    <a href="javascript:;" onclick="return false;"><@t.page 'place_data.extend_field'/></a>
                    <ul>
                    <#list placeMetadata.extendList as extend>
                        <li><a href="javascript:;" <@getExtendDataHelp extend 'place.attribute.'/>><@t.page 'extend_field'/>:${extend.name}</a></li>
                    </#list>
                    </ul>
                </li>
                </#if>
            </#if>
            <#if metadata?has_content>
                <li>
                    <a href="javascript:;" onclick="return false;"><@t.page 'help.template_attribute'/></a>
                    <ul>
                        <li><a href="javascript:;" <@getAction r'${(metadata.alias)!}'/>><@t.page 'template.name'/></a></li>
                <#if metadata.useDynamic?has_content&&metadata.useDynamic&&metadata.acceptParameters?has_content>
                    <#list metadata.acceptParameters?split(',') as p>
                        <#assign alias=metadata.parameterTypeMap[p].alias!''/>
                        <#if (metadata.parameterTypeMap[p].type)?has_content&&['user','content','category']?seq_contains(metadata.parameterTypeMap[p].type)>
                            <li><a href="javascript:;" <@getAction r'<#list '+alias?has_content?then(alias,p)+r' as k,v>${k}:${v?c}</#list>'/>><@t.page 'parameter'/>:${p}</a></li>
                        <#else>
                            <li><a href="javascript:;" <@getAction r'${('+alias?has_content?then(alias,p)+r')!}'/>><@t.page 'parameter'/>:${p}</a></li>
                        </#if>
                    </#list>
                </#if>
                <#if metadata.extendList?has_content>
                    <#list metadata.extendList as extend>
                        <li><a href="javascript:;" <@getExtendDataHelp extend 'metadata.extendData.'/>><@t.page 'extend_field'/>:${extend.name}</a></li>
                    </#list>
                </#if>
                    </ul>
                </li>
                <#if site.useStatic>
                    <li><a href="javascript:;" <@getAction r'${url!}'/>><@t.page 'help.page_url'/></a></li>
                    <li>
                        <a href="javascript:;" onclick="return false;"><@t.page 'help.static_content_data'/>(<@t.page 'static_content_page'/>)</a>
                        <ul>
                            <li><a href="javascript:;" <@getAction r'${(content.title)!}'/>><@t.page 'title'/></a></li>
                            <li><a href="javascript:;" <@getAction r'${(content.description)!}'/>><@t.page 'description'/></a></li>
                            <li><a href="javascript:;" <@getAction r'${(content.url)!}'/>><@t.page 'url'/></a></li>
                            <li><a href="javascript:;" <@getAction r'${(content.cover)!}'/>><@t.page 'cover'/></a></li>
                            <li><a href="javascript:;" <@getAction r'${(content.publishDate)!}'/>><@t.page 'publish_date'/></a></li>
                            <li><a href="javascript:;" <@getAction r'<@cms.tag ids=content.tagIds><#list map?keys as k>${map[k].name}</a><#sep>,</#list></@cms.tag>'/>><@t.page 'tag'/></a></li>
                            <li><a href="javascript:;" <@getAction r'${(attribute.source)!}'/>><@t.page 'content.source'/></a></li>
                            <li><a href="javascript:;" <@getAction r'${(attribute.sourceUrl)!}'/>><@t.page 'content.source_url'/></a></li>
                            <li><a href="javascript:;" <@getAction r'${text?no_esc!}'/>><@t.page 'content.text'/></a></li>
                            <li><a href="javascript:;" <@getAction r'${(attribute.your_extend_field_code)!}'/>><@t.page 'extend_field'/></a></li>
                        </ul>
                    </li>
                    <li>
                        <a href="javascript:;" onclick="return false;"><@t.page 'help.static_category_data'/>(<@t.page 'static_content_page'/>,<@t.page 'static_category_page'/>)</a>
                        <ul>
                            <li><a href="javascript:;" <@getAction r'${(category.title)!}'/>><@t.page 'name'/></a></li>
                            <li><a href="javascript:;" <@getAction r'${(category.url)!}'/>><@t.page 'url'/></a></li>
                            <li><a href="javascript:;" <@getAction r'${(attribute.title)!}'/>><@t.page 'title'/>(<@t.page 'static_category_page'/>)</a></li>
                            <li><a href="javascript:;" <@getAction r'${(attribute.keywords)!}'/>><@t.page 'keywords'/>(<@t.page 'static_category_page'/>)</a></li>
                            <li><a href="javascript:;" <@getAction r'${(attribute.description)!}'/>><@t.page 'description'/>(<@t.page 'static_category_page'/>)</a></li>
                            <li><a href="javascript:;" <@getAction r'${(attribute.your_extend_field_code)!}'/>><@t.page 'extend_field'/>(<@t.page 'static_category_page'/>)</a></li>
                        </ul>
                    </li>
                </#if>
                <#if metadata.useDynamic?has_content&&metadata.useDynamic>
                    <li><a href="javascript:;" <@getAction r'${(user.nickname)!}'/>><@t.page 'current_user'/></a></li>
                </#if>
            </#if>
            <#if type?has_content&&'task'=type>
                <li><a href="javascript:;" <@getAction r'${object.name}'/>><@t.page 'task'/></a></li>
            </#if>
                <li>
                    <a href="javascript:;" onclick="return false;"><@t.page 'help.site_attribute'/></a>
                    <ul>
                        <li><a href="javascript:;" <@getAction r'${site.id!}'/>><@t.page 'site.id'/></a></li>
                        <li><a href="javascript:;" <@getAction r'${site.name!}'/>><@t.page 'name'/></a></li>
                        <li><a href="javascript:;" <@getAction r'${site.useStatic?string}'/>><@t.page 'site.enable_static'/></a></li>
                        <li><a href="javascript:;" <@getAction r'${site.sitePath!}'/>><@t.page 'site.site_path'/></a></li>
                        <li><a href="javascript:;" <@getAction r'${site.dynamicPath!}'/>><@t.page 'site.dynamic_path'/></a></li>
                        <li><a href="javascript:;" <@getAction r'${site.disabled?string}'/>><@t.page 'disabled'/></a></li>
                    </ul>
                </li>
                <li>
                    <a href="javascript:;" onclick="return false;"><@t.page 'help.site_extend_attribute'/></a>
                    <ul>
                <@sys.configFieldList code='siteAttribute'>
                    <#list list as extend>
                        <li><a href="javascript:;" <@getExtendDataHelp extend 'siteAttribute.'/>>${extend.name}</a></li>
                    </#list>
                </@sys.configFieldList>
                    </ul>
                </li>
                <li><a href="javascript:;" <@getAction r'<#list .data_model?keys as k>${k}<#sep>,</#list>' t.pageMessage('help.echo_data_model')/>><@t.page 'help.echo_data_model'/></a></li>
                <li><a href="javascript:;" <@getAction r'<#list .namespace?keys as k>${k}<#sep>,</#list>' t.pageMessage('help.echo_namespace')/>><@t.page 'help.echo_namespace'/></a></li>
            </ul>
        </div>
        <#if metadata?has_content>
            <div class="pageFormContent" layoutH>
                <@cms.modelList>
                <ul class="tree treeFolder">
                    <#list page.list as m>
                    <li>
                        <a href="cmsModel/template.html?modelId=${m.id?url}" target="dialog" mask="true">${m.name!}</a>
                        <@childModel m/>
                    </li>
                    </#list>
                    <li><a href="cmsModel/list.html" onclick="$.pdialog.closeCurrent();" target="navTab" rel="cmsModel/list"><i class="icon-th-large icon-large"></i><@t.page 'model.management'/></a></li>
                </ul>
                </@cms.modelList>
            </div>
        </#if>
        <div class="pageFormContent" layoutH>
            <ul class="tree treeFolder">
            <#if type?has_content&&'task'=type>
                <li>
                    <a href="javascript:;" onclick="return false;"><@t.page 'help.task_directive'/></a>
                    <ul>
                        <li><a href="javascript:;" <@getAction r'<@task.clearLog clearDate=clearDate>'+'\n    '+r'Login log cleaning:${result.loginLog},Operate log cleaning:${result.operateLog},Task log cleaning:${result.taskLog}'+'\n'+r'</@task.clearLog>'/>><@t.page 'help.clear_log'/></a></li>
                        <li><a href="javascript:;" <@getAction r'<@task.indexContent id=id ids=ids/>'/>><@t.page 'help.rebuild_index'/></a></li>
                        <li><a href="javascript:;" <@getAction r'<@task.publishCategory id=id ids=ids pageIndex=pageIndex totalPage=totalPage>'+'\n    '+r'Publish failed category ids:<#list map?keys as k><#if !map[k]>${k},</#if></#list>'+'\n'+r'</@task.publishCategory>'/>><@t.page 'help.publish_category'/></a></li>
                        <li><a href="javascript:;" <@getAction r'<@task.publishCategory id=id ids=ids>'+'\n    '+r'Publish failed content ids:<#list map?keys as k><#if !map[k]>${k},</#if></#list>'+'\n'+r'</@task.publishCategory>'/>><@t.page 'help.publish_category'/></a></li>
                        <li><a href="javascript:;" <@getAction r'<@task.publishPage path=path>'+'\n    '+r'Publish failed templates:<#list map?keys as k><#if !map[k]>${k},</#if></#list>'+'\n'+r'</@task.publishPage>'/>><@t.page 'publish_page'/></a></li>
                    <#if site.useSsi>
                        <li><a href="javascript:;" <@getAction r'<@task.publishPlace path=path>'+'\n    '+r'Publish failed page fragments:<#list map?keys as k><#if !map[k]>${k},</#if></#list>'+'\n'+r'</@task.publishPlace>'/>><@t.page 'publish_place'/></a></li>
                    </#if>
                    </ul>
                </li>
            </#if>
                <li>
                    <a href="javascript:;" onclick="return false;"><@t.page 'help.list_directive'/></a>
                    <ul>
                        <li><a href="javascript:;" <@getAction r'<@cms.contentList categoryId=categoryId containChild=containChild modelId=modelId parentId=parentId containsAttribute=containsAttribute onlyUrl=onlyUrl hasImages=hasImages hasFiles=hasFiles hasCover=hasCover orderField=orderField orderType=orderType pageIndex=pageIndex pageSize=pageSize>'+'\n    '+r'<#list page.list as content>'+'\n        '+r'<a href="${content.url!}">${content.title}</a>'+'\n    '+r'</#list>'+'\n'+r'</@cms.contentList>' t.pageMessage('help.directive.content_list.description')/>><@t.page 'content'/></a></li>
                        <li><a href="javascript:;" <@getAction r'<@cms.contentFileList contentId=contentId fileTypes=fileTypes orderField=orderField orderType=orderType pageIndex=pageIndex pageSize=pageSize>'+'\n    '+r'<#list page.list as a>${a.filePath}</#list>'+'\n'+r'</@cms.contentFileList>' t.pageMessage('help.directive.content_file_list.description')/>><@t.page 'content_file'/></a></li>
                        <li><a href="javascript:;" <@getAction r'<@cms.commentList contentId=contentId orderField=orderField orderType=orderType pageIndex=pageIndex pageSize=pageSize>'+'\n    '+r'<#list page.list as a>'+'\n        '+r'${a.createDate} <@sys.user id=a.userId>${object.nickname} : </@sys.user>'+'\n        '+r'${a.text!}</#list>'+'\n'+r'</@cms.commentList>' t.pageMessage('help.directive.comment_list.description')/>><@t.page 'comment'/></a></li>
                        <li><a href="javascript:;" <@getAction r'<@cms.categoryList parentId=parentId typeId=typeId containsAttribute=containsAttribute allowContribute=allowContribute pageIndex=pageIndex pageSize=pageSize>'+'\n    '+r'<#list page.list as a>'+'\n        '+r'<a href="${a.url!}">${a.name}</a>'+'\n    '+r'</#list>'+'\n'+r'</@cms.categoryList>' t.pageMessage('help.directive.category_list.description')/>><@t.page 'category'/></a></li>
                        <li><a href="javascript:;" <@getAction r'<@cms.search word=word tagId=tagId highlight=true dictionaryValues=dictionaryValues categoryId=categoryId containChild=containChild categoryIds=categoryIds modelIds=modelIds startPublishDate=startPublishDate pageIndex=pageIndex pageSize=pageSize>'+'\n    '+r'<#list page.list as a>'+'\n        '+r'<a href="${a.url!}">${a.title?no_esc}</a>'+'\n    '+r'</#list>'+'\n'+r'</@cms.search>' t.pageMessage('help.directive.search.description')/>><@t.page 'search'/></a></li>
                        <li><a href="javascript:;" <@getAction r'<@cms.wordList startCreateDate=startCreateDate endCreateDate=endCreateDate orderField=orderField orderType=orderType pageIndex=pageIndex pageSize=pageSize>'+'\n    '+r'<#list page.list as a>${a.name!}:${a.searchCount}</#list>'+'\n'+r'</@cms.wordList>' t.pageMessage('help.directive.word_list.description')/>><@t.page 'search_word'/></a></li>
                    </ul>
                </li>
                <li>
                    <a href="javascript:;" onclick="return false;"><@t.page 'help.entity_directive'/></a>
                    <ul>
                        <li><a href="javascript:;" <@getAction r'<@cms.content id=id containsAttribute=containsAttribute>'+'\n    '+r'<a href="${object.url!}">${object.title}</a>'+'\n'+r'</@cms.content>' 'id:'+t.pageMessage('content.id')+'containsAttribute:'+t.pageMessage('contains_attribute')/>><@t.page 'content'/></a></li>
                        <li><a href="javascript:;" <@getAction r'<@cms.content ids=ids containsAttribute=containsAttribute>'+'\n    '+r'<#list map as k,content><a href="${content.url!}">${content.title}</a><#sep>,</#list>'+'\n'+r'</@cms.content>' 'ids:'+t.pageMessage('content.multiple_id')+'containsAttribute:'+t.pageMessage('contains_attribute')/>><@t.page 'content.multiple'/></a></li>
                        <li><a href="javascript:;" <@getAction r'<@cms.category id=id code=code containsAttribute=containsAttribute>'+'\n    '+r'<a href="${object.url!}">${object.name}</a>'+'\n'+r'</@cms.category>' 'id:'+t.pageMessage('category.id')+',code:'+t.pageMessage('category.code')+'containsAttribute:'+t.pageMessage('contains_attribute')/>><@t.page 'category'/></a></li>
                        <li><a href="javascript:;" <@getAction r'<@cms.category ids=ids containsAttribute=containsAttribute>'+'\n    '+r'<#list map as k,category><a href="${category.url!}">${category.name}</a><#sep>,</#list>'+'\n'+r'</@cms.category>' 'ids:'+t.pageMessage('category.multiple_id')+'containsAttribute:'+t.pageMessage('contains_attribute')/>><@t.page 'category.multiple'/></a></li>
                        <li><a href="javascript:;" <@getAction r'<@cms.tag id=id>${object.name}</@cms.tag>' 'id:'+t.pageMessage('tag.id')/>><@t.page 'tag'/></a></li>
                        <li><a href="javascript:;" <@getAction r'<@cms.tag ids=ids>'+'\n    '+r'<#list map as k,tag>${tag.name}<#sep>,</#list>'+'\n'+r'</@cms.tag>' 'ids'+t.pageMessage('tag.multiple_id')/>><@t.page 'tag.multiple'/></a></li>
                        <li><a href="javascript:;" <@getAction r'<@sys.user id=id>${object.nickname}</@sys.user>' 'id:'+t.pageMessage('user.id')/>><@t.page 'user'/></a></li>
                        <li><a href="javascript:;" <@getAction r'<@sys.user ids=ids>'+'\n    '+r'<#list map as k,user>${user.nickname}<#sep>,</#list>'+'\n'+r'</@sys.user>' 'ids:'+t.pageMessage('user.multiple_id')/>><@t.page 'user.multiple'/></a></li>
                    </ul>
                </li>
                <li>
                    <a href="javascript:;" onclick="return false;"><@t.page 'help.tool_directive'/></a>
                    <ul>
                        <li><a href="javascript:;" <@getAction r'<@tools.createCategoryFile id=id templatePath=templatePath filePath=filePath pageIndex=pageIndex>${url}</@tools.createCategoryFile>'/>><@t.page 'help.directive.publish_category'/></a></li>
                        <li><a href="javascript:;" <@getAction r'<@tools.createContentFile id=id templatePath=templatePath filePath=filePath pageIndex=pageIndex>${url}</@tools.createContentFile>'/>><@t.page 'help.directive.publish_content'/></a></li>
                        <li><a href="javascript:;" <@getAction r'<@tools.createTemplateFile templatePath=templatePath filePath=filePath pageIndex=pageIndex>${url}</@tools.createTemplateFile>'/>><@t.page 'help.directive.publish_page'/></a></li>
                        <li><a href="javascript:;" <@getAction r'<@tools.userAgent>${object.deviceType}</@tools.userAgent>' t.pageMessage('help.directive.useragent.description')/>><@t.page 'help.directive.useragent'/></a></li>
                        <li><a href="javascript:;" <@getAction r'<@tools.sendEmail email=email cc=cc bcc=bcc title=title templatePath=templatePath content=content><#if result>success</#if></@tools.sendEmail>' t.pageMessage('help.directive.email.description')/>><@t.page 'help.directive.email'/></a></li>
                    </ul>
                </li>
                <li>
                    <a href="javascript:;" onclick="return false;"><@t.page 'help.attribute_method'/></a>
                    <ul>
                        <li><a href="javascript:;" <@getAction r'<#assign attribute=getContentAttribute(contentId)/>' t.pageMessage('help.method.content.description')/>><@t.page 'help.method.content'/></a></li>
                        <li><a href="javascript:;" <@getAction r'<#assign attributeMap=getContentAttributes(contentIds)/>' t.pageMessage('help.method.contents.description')/>><@t.page 'help.method.contents'/></a></li>
                        <li><a href="javascript:;" <@getAction r'<#assign contentPage=getContentPage(text,pageIndex)/>' t.pageMessage('help.method.content_text.description')/>><@t.page 'help.method.content_text'/></a></li>
                        <li><a href="javascript:;" <@getAction r'<#assign attribute=getCategoryAttribute(categoryId)/>' t.pageMessage('help.method.category.description')/>><@t.page 'help.method.category'/></a></li>
                        <li><a href="javascript:;" <@getAction r'<#assign attributeMap=getCategoryAttributes(categoryIds)/>' t.pageMessage('help.method.categorys.description')/>><@t.page 'help.method.categorys'/></a></li>
                        <li><a href="javascript:;" <@getAction r'<#assign attribute=getPlaceAttribute(placeId)/>' t.pageMessage('help.method.place_data.description')/>><@t.page 'help.method.place_data'/></a></li>
                        <li><a href="javascript:;" <@getAction r'<#assign attributeMap=getPlaceAttributes(placeIds)/>' t.pageMessage('method.place_datas.description')/>><@t.page 'help.method.place_datas'/></a></li>
                    </ul>
                </li>
                <li>
                    <a href="javascript:;" onclick="return false;"><@t.page 'help.tool_method'/></a>
                    <ul>
                        <li><a href="javascript:;" <@getAction r'${getDate("thisSunday",.now)}' t.pageMessage('help.method.date.description')/>><@t.page 'help.method.date'/></a></li>
                        <li><a href="javascript:;" <@getAction r'${getHtml(url,parameter)}' t.pageMessage('help.method.html.description')/>><@t.page 'help.method.html'/></a></li>
                        <li><a href="javascript:;" <@getAction r'<#list getKeywords(word) as a>${a}<#sep>,</#list>' t.pageMessage('help.method.keywords.description')/>><@t.page 'help.method.keywords'/></a></li>
                        <li><a href="javascript:;" <@getAction r'${getMd5(value)}' t.pageMessage('help.method.md5.description')/>><@t.page 'help.method.md5'/></a></li>
                        <li><a href="javascript:;" <@getAction r'${getHash(value)}' t.pageMessage('help.method.hash.description')/>><@t.page 'help.method.hash'/></a></li>
                        <li><a href="javascript:;" <@getAction r'${getSha1(value)}' t.pageMessage('help.method.sha1.description')/>><@t.page 'help.method.sha1'/></a></li>
                        <li><a href="javascript:;" <@getAction r'${getSha2(value)}' t.pageMessage('help.method.sha2.description')/>><@t.page 'help.method.sha2'/></a></li>
                        <li><a href="javascript:;" <@getAction r'${getPage(url,pageIndex,pageParameter)}' t.pageMessage('help.method.page.description')/>><@t.page 'help.method.page'/></a></li>
                        <li><a href="javascript:;" <@getAction r'${getRandom(number)}' t.pageMessage('help.method.random.description')/>><@t.page 'help.method.random'/></a></li>
                        <li><a href="javascript:;" <@getAction r'${getSleep(second)}' t.pageMessage('help.method.sleep.description')/>><@t.page 'help.method.sleep'/></a></li>
                        <li><a href="javascript:;" <@getAction r'${getTemplateResult(template)}' t.pageMessage('help.method.template_result.description')/>><@t.page 'help.method.template_result'/></a></li>
                        <li><a href="javascript:;" <@getAction r'${getTextFromHtml(html)}' t.pageMessage('help.method.text_from_html.description')/>><@t.page 'help.method.text_from_html'/></a></li>
                        <li><a href="javascript:;" <@getAction r'${getUUID()}' t.pageMessage('help.method.uuid.description')/>><@t.page 'help.method.uuid'/></a></li>
                        <li><a href="javascript:;" <@getAction r'${getXml("<xml><data>value</data></xml>").xml.data}' t.pageMessage('help.method.xml.description')/>><@t.page 'help.method.xml'/></a></li>
                    </ul>
                </li>
            </ul>
        </div>
        <div class="pageFormContent" layoutH>
            <ul class="tree treeFolder">
<@sys.configList>
    <#list list as a>
        <#if 'siteAttribute' != a.code>
                <li>
                    <a href="javascript:;" <@getAction r'<@sys.configData code="'+a.code+r'"></@sys.configData>' field/>>${a.code}:${a.description!}</a>
                    <ul>
                        <@sys.configFieldList code=a.code>
                            <#list list as extend>
                        <li><a href="javascript:;" <@getAction r'<@sys.configData code="'+a.code+r'">${object.'+extend.id.code+r'!}</@sys.configData>' a.description+':'+extend.name/>>${extend.name}</a></li>
                            </#list>
                        </@sys.configFieldList>
                    </ul>
                </li>
         </#if>
    </#list>
</@sys.configList>
            </ul>
        </div>
    <#if path?has_content>
        <div class="pageFormContent" layoutH>
            <ul class="tree treeFolder">
                <li>
                    <a href="javascript:;" onclick="return false;"><@t.page 'help.content_contribute'/></a>
                    <ul>
                <@cms.categoryList queryAll=true allowContribute=true pageSize=500>
                    <#list page.list as a>
                        <li>
                            <a href="cmsCategory/contributeForm.html?categoryId=${a.id}" class="exclude-translate" target="dialog" mask="true" width="1200" height="580">${(a.name)!}</a>
                        </li>
                    </#list>
                </@cms.categoryList>
                    </ul>
                </li>
<#macro placeTree filepath=''>
    <@tools.fileList path='/include'+filepath>
        <#list list as a>
            <#local path=filepath+'/'+a.fileName>
            <@tools.placeMetadata path=path>
                <#if a.directory>
                    <li>
                        <a href="javascript:;" onclick="return false;">${a.fileName}</a>
                        <ul><@placeTree path/></ul>
                    </li>
                <#elseif object.allowContribute>
                    <li>
                        <a href="placeTemplate/form.html?path=${(path?url)!}" target="dialog" mask="true">${(object.alias)!a.fileName}</a>
                    </li>
                </#if>
            </@tools.placeMetadata>
        <#else>
            <li><a><@t.page 'empty_directory'/></a></li>
        </#list>
    </@tools.fileList>
</#macro>
                <li>
                    <a href="javascript:;" onclick="return false;"><@t.page 'help.place_contribute'/></a>
                    <ul><@placeTree/></ul>
                </li>
            </ul>
        </div>
    </#if>
    </div>
</div>