#macro input name extend index value='' type='form'>
<#if !value??>
<#local value=extend.defaultValue!/>
#if>
<#local inputName=name+'['+index+'].value'/>
<#switch extend.inputType>
<#case 'number'>
<#if 'view'=type>
${(value)!}
<#else>
class="number<#if extend.required> required#if>" #if>type="number"<#if extend.maxlength?has_content> maxlength="${extend.maxlength}"#if> value="${(value)!}"/>
#if>
<#break>
<#case 'file'>
<#if 'view'=type>
${(value)!}
<#else>
class="readonly<#if extend.required> required#if>" type="text" <#else>type="file" #if>value="${(value)!}"/>
<#if 'customform'!=type><@t.page 'attach'/>#if>
#if>
<#break>
<#case 'image'>
<#if 'view'=type>
${(value)!}
<#else>
class="readonly<#if extend.required> required#if>" type="text" <#else>type="file" accept="image/*" #if>value="${(value)!}"/>
<#if 'customform'!=type>
<@t.page 'image'/>
<#if !preview?has_content>
<#include "../include_page/preview.html"/>
#if>
<@preview extend.id.code 'input[name="${inputName}"]' ''/>
#if>
#if>
<#break>
<#case 'video'>
<#if 'view'=type>
${(value)!}
<#else>
class="readonly<#if extend.required> required#if>" type="text" <#else>type="file" accept="video/*"#if>value="${(value)!}"/>
<#if 'customform'!=type>
<@t.page 'video'/>
#if>
#if>
<#break>
<#case 'password'>
<#if 'view'=type>
${(value)!}
<#else>
maxlength="${extend.maxlength}"#if> <#if 'customform'!=type>class="<#if extend.required> required#if>" #if>type="password" size="30" value="${(value)!}"/>
#if>
<#break>
<#case 'textarea'>
<#if 'view'=type>
${(value)!}
<#else>
#if>
<#break>
<#case 'editor'>
<#if 'view'=type>
${(value?no_esc)!}
<#else>
#if>
<#break>
<#case 'ckeditor'>
<#if 'view'=type>
${(value?no_esc)!}
<#else>
#if>
<#break>
<#case 'kindeditor'>
<#if 'view'=type>
${(value?no_esc)!}
<#else>
#if>
<#break>
<#case 'template'>
<#if 'view'=type>
${(value)!}
<#else>
maxlength="${extend.maxlength}"#if> type="text" maxlength="255" size="40" value="${(value)!}"<#if 'customform'!=type> class="<#if extend.required> required#if>"#if>/>
<@t.page 'template.select'/>
#if>
<#break>
<#case 'boolean'>
<#if 'view'=type>
<#if value?has_content>${('true'=value)?then(t.pageMessage('yes'),t.pageMessage('no'))}#if>
<#else>
#if>
<#break>
<#case 'user'>
<@_sysUser id=value><#local user=object/>@_sysUser>
<#if 'view'=type>
${(value)!}:${(user.nickName)!}
<#else>
class="<#if extend.required> required#if>"#if>/>
<@t.page 'user.select'/>
#if>
<#break>
<#case 'content'>
<@_content id=value><#local content=object/>@_content>
<#if 'view'=type>
${(value)!}:${(content.title)!}
<#else>
class="<#if extend.required> required#if>"#if>/>
<@t.page 'content.select'/>
#if>
<#break>
<#case 'category'>
<@_category id=value><#local category=object/>@_category>
<#if 'view'=type>
${(value)!}:${(category.name)!}
<#else>
class="<#if extend.required> required#if>"#if>/>
<@t.page 'category.select'/>
#if>
<#break>
<#case 'categoryType'>
<@_categoryType id=value><#local categoryType=object/>@_categoryType>
<#if 'view'=type>
${(value)!}:${(categoryType.name)!}
<#else>
class="<#if extend.required> required#if>"#if>/>
<@t.page 'category.select'/>
#if>
<#break>
<#case 'tagType'>
<@_tagType id=value><#local tagType=object/>@_tagType>
<#if 'view'=type>
${(value)!}:${(tagType.name)!}
<#else>
class="<#if extend.required> required#if>"#if>/>
<@t.page 'category.select'/>
#if>
<#break>
<#case 'dictionary'>
<@_dictionary id=extend.dictionaryId><#local dictionary=object/>@_dictionary>
<#if site.parentId?has_content&&!dictionary?has_content><@_dictionary id=extend.dictionaryId siteId=site.parentId><#assign dictionary=object/>@_dictionary>#if>
<#if dictionary?has_content>
<#if 'view'=type>
<#if dictionary.multiple><@_dictionaryData dictionaryId=extend.dictionaryId values=value><#list map as k,data>${data.text}<#sep>,#list>@_dictionaryData><#else><@_dictionaryData dictionaryId=extend.dictionaryId value=value>${object.text}@_dictionaryData>#if>
<#else>
<#if dictionary.multiple>
<#if value?has_content>
<#local values=value?split(',')/>
#if>
<@_dictionaryDataList dictionaryId=extend.dictionaryId>
<#list list as d>
#list>
@_dictionaryDataList>
<#else>
#if>
#if>
#if>
<#break>
<#case 'date'>
<#if 'view'=type>
${(value)!}
<#else>
class="date<#if extend.required> required#if>" autocomplete="off" dateFmt="yyyy-MM-dd" #if>type="text" size="10" value="${(value)!}"/>
#if>
<#break>
<#case 'datetime'>
<#if 'view'=type>
${(value)!}
<#else>
class="date<#if extend.required> required#if>" autocomplete="off" dateFmt="yyyy-MM-dd HH:mm:ss" #if>type="text" size="20" value="${(value)!}"/>
#if>
<#break>
<#default>
<#if 'view'=type>
${(value)!}
<#else>
maxlength="${extend.maxlength}"#if> <#if 'customform'!=type>class="<#if extend.required> required#if>" #if>type="text" size="30" value="${(value)!}"/>
#if>
#switch>
#macro>
<#macro extendData name extendList extendValues type='form' fromIndex=0>
<#list extendList as e>
<#local value=extendValues[e.id.code]!''/>
<#if 'customform'=type>
<@input name e e?index+fromIndex value type/>
<#else>