<@cms.model id=modelId!> <#assign model=object fieldList=model.fieldList![] requiredFieldList=model.requiredFfieldList![] /> <@cms.category id=categoryId!><#assign category=object/> <#assign urlExtendFieldTypes=['file','image','video']> <#assign privateUrlExtendFieldTypes=['privatefile','privateimage','privatevideo']> <#assign editorExtendFieldTypes=['editor','tinymce','ckeditor']> <#macro getExtendData extend> <#if urlExtendFieldTypes?seq_contains(extend.inputType)> ${r'${(attribute.'+extend.id.code+r')!}'} <#elseif editorExtendFieldTypes?seq_contains(extend.inputType)> ${r'${(attribute.'+extend.id.code+r'?no_esc)!}'} <#elseif privateUrlExtendFieldTypes?seq_contains(extend.inputType)> ${r'${getPrivateUrl(attribute.'+extend.id.code+r')!}'} <#elseif 'category'=extend.inputType> <#if extend.multiple> <#noparse><@cms.category ids=attribute.${extend.id.code}<#noparse>> <#list map as k,v> ${v.name}<#sep>, <#else> <#noparse><@cms.category id=attribute.${extend.id.code}<#noparse>>${object.name} <#elseif 'content'=extend.inputType> <#if extend.multiple> <#noparse><@cms.content ids=attribute.${extend.id.code}<#noparse>> <#list map as k,v> ${v.title}<#sep>, <#else> <#noparse><@cms.content id=attribute.${extend.id.code}<#noparse>>${object.title} <#elseif 'user'=extend.inputType> <#if extend.multiple> <#noparse><@sys.user ids=attribute.${extend.id.code}<#noparse>> <#list map as k,v> ${v.nickname}<#sep>, <#else> <#noparse><@sys.user id=attribute.${extend.id.code}<#noparse>>${object.nickname} <#elseif 'tag'=extend.inputType> <#if extend.multiple> <#noparse><@cms.tag ids=attribute.${extend.id.code}<#noparse>> <#list map as k,v> ${v.name}<#sep>, <#else> <#noparse><@cms.tag id=attribute.${extend.id.code}<#noparse>>${object.name} <#elseif 'color'=extend.inputType> <#noparse>text <#elseif 'survey'=extend.inputType> <#if extend.multiple> <#noparse><@cms.survey ids=attribute.${extend.id.code}<#noparse>> <#list map as k,v> ${v.title}<#sep>, <#else> <#noparse><@cms.survey id=attribute.${extend.id.code}<#noparse>>${object.title} <#elseif 'vote'=extend.inputType> <#if extend.multiple> <#noparse><@cms.vote ids=attribute.${extend.id.code}<#noparse>> <#list map as k,v> ${v.title}<#sep>, <#else> <#noparse><@cms.vote id=attribute.${extend.id.code}<#noparse>>${object.title} <#elseif 'tagType'=extend.inputType> <#if extend.multiple> <#noparse><@cms.tagType ids=attribute.${extend.id.code}<#noparse>> <#list map as k,v> ${v.name}<#sep>, <#else> <#noparse><@cms.tagType id=attribute.${extend.id.code}<#noparse>>${object.name} <#elseif 'categoryType'=extend.inputType> <#if extend.multiple> <#noparse><@cms.categoryType ids=attribute.${extend.id.code}<#noparse>> <#list map as k,v> ${v.name}<#sep>, <#else> <#noparse><@cms.categoryType id=attribute.${extend.id.code}<#noparse>>${object.name} <#elseif 'dictionary'=extend.inputType> <#if extend.multiple> <#noparse><@cms.dictionaryData dictionaryId='${extend.dictionaryId}<#noparse>' values=attribute.${extend.id.code}<#noparse>> <#list map as k,d>${k}:${d.text}<#sep>, <#else> <#noparse><@cms.dictionaryData dictionaryId='${extend.dictionaryId}<#noparse>' value=attribute.${extend.id.code}<#noparse>>${object.id.value}:${object.text} <#elseif 'dept'=extend.inputType> <#if extend.multiple> <#noparse><@sys.dept ids=attribute.${extend.id.code}<#noparse>> <#list map as k,v> ${v.name}<#sep>, <#else> <#noparse><@sys.dept id=attribute.${extend.id.code}<#noparse>>${object.name} <#elseif 'keyvalue'=extend.inputType> <#noparse> <#list attribute.${extend.id.code}<#noparse>?split(",")?chunk(2) as row> <#list row as a>
<@t.page "key"/><#noparse> <@t.page "value"/><#noparse>
${a}
<#elseif 'alphaColor'=extend.inputType> <#noparse>
text
<#elseif 'textarea'=extend.inputType> <#noparse><#list (attribute.${extend.id.code}<#noparse>!"")?split("\n") as a>${a}<#sep>
<#else> ${r'${(attribute.'+extend.id.code+r')!}'} <#assign formContent> <#noparse> <@cms.model id=content.modelId><#assign model=object/> <#if !category?has_content><@cms.category id=content.categoryId><#assign category=object/> <#macro bread category> <#if category.parentId?has_content> <@cms.category id=category.parentId> <@bread object/> ${object.name} >
<@bread category/> ${(category.name)!}
${(model.name)!}
${(content.copied?then('[<@t.page 'copied'/><#noparse>]',''))!} ${(content.title)!}
${content.score!}
<#if 1=content.status>
<@sys.user id=content.checkUserId;user>${(user.nickname)!}
${(content.url)!}
<#if content.copied>
${(attribute.source)!}
${(attribute.sourceUrl)!}
<#if fieldList?seq_contains('author')><#noparse>
${(content.author)!}
<#noparse> <#if fieldList?seq_contains('editor')><#noparse>
${(content.editor)!}
<#noparse> <#if (content.tagIds)?has_content>
<@cms.tag ids=content.tagIds> <#list map as k,tag> ${k}:${tag.name}<#sep>,
${(content.publishDate)!}<#if content.expiryDate?has_content> - ${(content.expiryDate)!}
<#if category?has_content&&category.extendId?has_content> <@sys.extendFieldList extendId=category.extendId> <#list list as extend> <#noparse>
<@getExtendData extend/><#noparse>
<#if model.extendList?has_content> <#list model.extendList as extend> <#noparse>
<@getExtendData extend/><#noparse>
<#noparse> <#if content.hasImages>
<@cms.contentFileList contentId=content.id fileTypes='image'> <#list page.list as file>
${(file.description)!}
${(file.description)!}
<#if content.hasFiles>
<@cms.contentFileList contentId=content.id fileTypes='video,audio,document,other'> <#list page.list as file> ${(file.description)!}
<#if content.hasProducts>
<@cms.contentProductList contentId=content.id> <#list page.list as product> <#if product.cover?has_content>
${product.title}
${product.title}

${product.title}

${product.price}

${product.inventory}

${product.sales}

<#if content.cover?has_content>
${content.title}
<#if fieldList?seq_contains('description')>
<#list (content.description!'')?split('\n') as line>${line}<#sep>
<#if fieldList?seq_contains('content')>
${(attribute.text?no_esc)!}
<#if page?has_content>
<#if content.url?contains('?')><#assign pageParameter="pageIndex"/> <#if !page.firstPage> Previous page <#else> Previous page <#list 1..page.totalCount as n> <#if n=page.pageIndex> ${n} <#else> ${n} <#if !page.lastPage> Next page <#else> Next page
<@cms.contentList categoryId=category.id endPublishDate=content.publishDate orderField='publishDate' pageIndex=2 pageSize=1><#if 2=page.pageIndex><#list page.list as a>Previous:${a.title} <@cms.contentList categoryId=category.id startPublishDate=content.publishDate orderField='publishDate' orderType='asc' pageIndex=1 pageSize=1><#list page.list as a>Next:${a.title}
<@cms.contentRelatedList contentId=content.id> <#if page.totalCount gt 0>
<#list page.list as a> ${(a.title)!}
<#macro merge name value><#if !.vars[name]??><@"<#assign ${name}=''>"?interpret /><#if value?has_content><@"<#assign ${name}=${name}+'${value},'>"?interpret /> <@cms.commentList contentId=content.id pageSize=10> <#list page.list as a> <@merge 'userIds' a.userId!/> <@merge 'userIds' a.replyUserId!/> <@sys.user ids=userIds!><#assign userMap=map!/> <#list page.list as a>
${(userMap[a.userId?string].nickname)!}<#if a.replyUserId?has_content> reply ${(userMap[a.replyUserId?string].nickname)!}:
${a.text!}
<@t.page 'model'/>:
${(model.name)!}
<#if category?has_content>
<@t.page 'category'/>:
${(category.name)!}
<@t.page 'source_code'/>: