edit.html 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220
  1. <form id="edit-form" class="form-horizontal" role="form" data-toggle="validator" method="POST" action="">
  2. <input type="hidden" value="{$row.id}" id="channel-id"/>
  3. <div class="form-group">
  4. <label class="control-label col-xs-12 col-sm-2">{:__('Type')}:</label>
  5. <div class="col-xs-12 col-sm-8">
  6. <div class="radio">
  7. {foreach name="typeList" item="vo"}
  8. <label for="row[type]-{$key}"><input id="row[type]-{$key}" name="row[type]" type="radio" value="{$key}" {in name="key" value="$row.type" }checked{/in} /> {$vo}</label>
  9. {/foreach}
  10. </div>
  11. </div>
  12. </div>
  13. <div class="form-group tf tf-list tf-channel tf-link">
  14. <label for="c-model_id" class="control-label col-xs-12 col-sm-2">{:__('Model_id')}:</label>
  15. <div class="col-xs-12 col-sm-8">
  16. <!--@formatter:off-->
  17. <select name="row[model_id]" id="c-model_id" class="form-control" {if $hasArchives}disabled{/if}>
  18. {foreach name="modelList" item="vo"}
  19. <option {in name="vo.id" value="$row.model_id" }selected="selected" {/in} value="{$vo.id}" data-channeltpl="{$vo.channeltpl}" data-listtpl="{$vo.listtpl}" data-showtpl="{$vo.showtpl}">{$vo.name}{if $hasArchives && $row.model_id==$vo.id} (当栏目下有文档时将无法变更模型){/if}</option>
  20. {/foreach}
  21. </select>
  22. <!--@formatter:on-->
  23. </div>
  24. </div>
  25. <div class="form-group">
  26. <label for="parent_id" class="control-label col-xs-12 col-sm-2">{:__('上级栏目')}:</label>
  27. <div class="col-xs-12 col-sm-8">
  28. <!--@formatter:off-->
  29. <select name="row[parent_id]" data-rule="required" id="parent_id" class="form-control">
  30. <option value="0">{:__('None')}</option>
  31. {foreach name="channelList" item="vo"}
  32. <option value="{$vo.id}" {in name="vo.id" value="$childrenIds" }disabled{/in} {if $vo.type!=='link'}data-model="{$vo.model_id}"{/if} {if $vo.id==$row.parent_id} selected{/if}>{$vo.name}</option>
  33. {/foreach}
  34. </select>
  35. <!--@formatter:on-->
  36. </div>
  37. </div>
  38. <div class="form-group">
  39. <label for="c-name" class="control-label col-xs-12 col-sm-2">{:__('Name')}:</label>
  40. <div class="col-xs-12 col-sm-4">
  41. <input id="c-name" data-rule="required" class="form-control" name="row[name]" type="text" value="{$row.name|htmlentities}"/>
  42. </div>
  43. </div>
  44. <div class="form-group">
  45. <label for="c-flag" class="control-label col-xs-12 col-sm-2">{:__('Flag')}</label>
  46. <div class="col-xs-12 col-sm-4">
  47. <!--@formatter:off-->
  48. <select id="c-flag" class="form-control selectpicker" multiple="" name="row[flag][]">
  49. {foreach name="flagList" item="vo"}
  50. <option value="{$key}" data-subtext="{$key}" {in name="key" value="$row.flag" }selected{/in}>{$vo}</option>
  51. {/foreach}
  52. </select>
  53. <!--@formatter:on-->
  54. </div>
  55. </div>
  56. <div class="form-group">
  57. <label for="c-image" class="control-label col-xs-12 col-sm-2">{:__('Image')}:</label>
  58. <div class="col-xs-12 col-sm-8">
  59. <div class="input-group">
  60. <input id="c-image" data-rule="" class="form-control" size="50" name="row[image]" type="text" value="{$row.image|htmlentities}">
  61. <div class="input-group-addon no-border no-padding">
  62. <span><button type="button" id="plupload-image" class="btn btn-danger plupload" data-input-id="c-image" data-mimetype="image/gif,image/jpeg,image/png,image/jpg,image/bmp,image/webp" data-multiple="false" data-preview-id="p-image"><i class="fa fa-upload"></i> {:__('Upload')}</button></span>
  63. <span><button type="button" id="fachoose-image" class="btn btn-primary fachoose" data-input-id="c-image" data-mimetype="image/*" data-multiple="false"><i class="fa fa-list"></i> {:__('Choose')}</button></span>
  64. </div>
  65. <span class="msg-box n-right" for="c-image"></span>
  66. </div>
  67. <ul class="row list-inline plupload-preview" id="p-image"></ul>
  68. </div>
  69. </div>
  70. <div class="form-group">
  71. <label for="c-seotitle" class="control-label col-xs-12 col-sm-2">{:__('Seotitle')}:</label>
  72. <div class="col-xs-12 col-sm-8">
  73. <input id="c-seotitle" data-rule="" class="form-control" name="row[seotitle]" type="text" value="{$row.seotitle|htmlentities}" placeholder="为空时将使用栏目名称">
  74. </div>
  75. </div>
  76. <div class="form-group tf tf-channel tf tf-list">
  77. <label for="c-keywords" class="control-label col-xs-12 col-sm-2">{:__('Keywords')}:</label>
  78. <div class="col-xs-12 col-sm-8">
  79. <input id="c-keywords" data-rule="" class="form-control" name="row[keywords]" data-role="tagsinput" type="text" value="{$row.keywords|htmlentities}">
  80. </div>
  81. </div>
  82. <div class="form-group tf tf-channel tf tf-list">
  83. <label for="c-description" class="control-label col-xs-12 col-sm-2">{:__('Description')}:</label>
  84. <div class="col-xs-12 col-sm-8">
  85. <textarea id="c-description" data-rule="" class="form-control" name="row[description]">{$row.description|htmlentities}</textarea>
  86. </div>
  87. </div>
  88. <div class="form-group">
  89. <label for="c-diyname" class="control-label col-xs-12 col-sm-2">{:__('Diyname')}:</label>
  90. <div class="col-xs-12 col-sm-4">
  91. <input id="c-diyname" data-rule="required; diyname" class="form-control" name="row[diyname]" type="text" value="{$row.diyname|htmlentities}" data-tip="用于伪静态规则中[:diyname]替换">
  92. </div>
  93. </div>
  94. <div class="form-group tf tf-link">
  95. <label for="c-outlink" class="control-label col-xs-12 col-sm-2">{:__('Outlink')}:</label>
  96. <div class="col-xs-12 col-sm-8">
  97. <div class="input-group">
  98. <input id="c-outlink" data-rule="required" class="form-control" name="row[outlink]" type="text" value="{$row.outlink|htmlentities}">
  99. <span class="input-group-btn">
  100. <a href="javascript:" data-url="cms/ajax/get_link_list" class="btn btn-primary btn-select-link" title="选择链接" style="margin-left:3px;"><i class="fa fa-link"></i> 选择链接</a>
  101. </span>
  102. <span class="msg-box n-right"></span>
  103. </div>
  104. <div id="outlink-extend"></div>
  105. <input type="hidden" name="row[linktype]" value="{$row.linktype|default=''|htmlentities}"/>
  106. <input type="hidden" name="row[linkid]" value="{$row.linkid|default=0|htmlentities}"/>
  107. </div>
  108. </div>
  109. <div style="background:#fcf8e3;padding:15px 0 5px 0;margin-bottom:15px;">
  110. <div class="form-group tf tf-channel tf-list">
  111. <label for="c-channeltpl" class="control-label col-xs-12 col-sm-2">{:__('Channeltpl')}:</label>
  112. <div class="col-xs-12 col-sm-4">
  113. <input id="c-channeltpl" data-rule="required" class="form-control selectpage" name="row[channeltpl]" data-source="cms/ajax/get_template_list" data-params='{"type":"channel"}' data-primary-key="name" data-field="name" type="text" value="{$row.channeltpl}" placeholder="自定义模板文件必须以channel开头">
  114. </div>
  115. </div>
  116. <div class="form-group tf tf-channel tf-list">
  117. <label for="c-listtpl" class="control-label col-xs-12 col-sm-2">{:__('Listtpl')}:</label>
  118. <div class="col-xs-12 col-sm-4">
  119. <input id="c-listtpl" data-rule="required" class="form-control selectpage" name="row[listtpl]" data-source="cms/ajax/get_template_list" data-params='{"type":"list"}' data-primary-key="name" data-field="name" type="text" value="{$row.listtpl}" placeholder="自定义模板文件必须以list开头">
  120. </div>
  121. </div>
  122. <div class="form-group tf tf-channel tf-list">
  123. <label for="c-showtpl" class="control-label col-xs-12 col-sm-2">{:__('Showtpl')}:</label>
  124. <div class="col-xs-12 col-sm-4">
  125. <input id="c-showtpl" data-rule="required" class="form-control selectpage" name="row[showtpl]" data-source="cms/ajax/get_template_list" data-params='{"type":"show"}' data-primary-key="name" data-field="name" type="text" value="{$row.showtpl}" placeholder="自定义模板文件必须以show开头">
  126. </div>
  127. </div>
  128. <div class="form-group tf tf-list tf-channel">
  129. <label for="c-listtype" class="control-label col-xs-12 col-sm-2">{:__('Listtype')}:</label>
  130. <div class="col-xs-12 col-sm-4">
  131. <select name="row[listtype]" id="c-listtype" class="form-control">
  132. {foreach name="listtypeList" item="vo"}
  133. <option value="{$key}" {:$key==$row.listtype?'selected':''}>{$vo}</option>
  134. {/foreach}
  135. </select>
  136. </div>
  137. </div>
  138. <div class="form-group tf tf-channel tf-list">
  139. <label for="c-pagesize" class="control-label col-xs-12 col-sm-2">{:__('Pagesize')}:</label>
  140. <div class="col-xs-12 col-sm-4">
  141. <input id="c-pagesize" data-rule="required" class="form-control" name="row[pagesize]" type="number" value="{$row.pagesize}" data-tip="用于前台列表页分页">
  142. </div>
  143. </div>
  144. <div class="form-group tf tf-channel tf-list">
  145. <label for="c-vip" class="control-label col-xs-12 col-sm-2">{:__('VIP Limit')}:</label>
  146. <div class="col-xs-12 col-sm-4">
  147. {if $vipList}
  148. <select name="row[vip]" id="c-vip" class="form-control" data-tip="高于或等于该VIP等级的用户可查看">
  149. <option value="0">不限制</option>
  150. {foreach name="vipList" id="item"}
  151. <option value="{$item.level}" {:$item.level==$row.vip?'selected':''}>{$item.name} Lv:{$item.level}</option>
  152. {/foreach}
  153. </select>
  154. {else/}
  155. <div class="alert alert-primary-light" style="margin-bottom:0;">未安装或未配置VIP会员插件</div>
  156. {/if}
  157. </div>
  158. </div>
  159. <div class="form-group tf tf-channel tf-list">
  160. <label for="c-pagesize" class="control-label col-xs-12 col-sm-2">{:__('配置同步')}:</label>
  161. <div class="col-xs-12 col-sm-4">
  162. <div style="margin-top:5px;"><label for="syncconfig" style="font-weight:normal;"><input type="checkbox" name="row[syncconfig]" id="syncconfig" /> 同步高亮区域配置到所有子栏目</label></div>
  163. </div>
  164. </div>
  165. </div>
  166. <div class="form-group">
  167. <label for="c-weigh" class="control-label col-xs-12 col-sm-2">{:__('Weigh')}:</label>
  168. <div class="col-xs-12 col-sm-4">
  169. <input id="c-weigh" data-rule="required" class="form-control" name="row[weigh]" type="number" value="{$row.weigh}" data-tip="权重越大越靠前">
  170. </div>
  171. </div>
  172. <div class="form-group tf tf-channel tf-list">
  173. <label class="control-label col-xs-12 col-sm-2">{:__('Iscontribute')}:</label>
  174. <div class="col-xs-12 col-sm-8">
  175. <input id="c-iscontribute" name="row[iscontribute]" type="hidden" value="{$row.iscontribute}">
  176. <a href="javascript:;" data-toggle="switcher" class="btn-switcher" data-input-id="c-iscontribute" data-yes="1" data-no="0">
  177. <i class="fa fa-toggle-on text-success {eq name=" $row.iscontribute" value="0"}fa-flip-horizontal text-gray{/eq} fa-2x"></i>
  178. </a>
  179. </div>
  180. </div>
  181. <div class="form-group">
  182. <label class="control-label col-xs-12 col-sm-2">{:__('Isnav')}:</label>
  183. <div class="col-xs-12 col-sm-8">
  184. <input id="c-isnav" name="row[isnav]" type="hidden" value="{$row.isnav}">
  185. <a href="javascript:;" data-toggle="switcher" class="btn-switcher" data-input-id="c-isnav" data-yes="1" data-no="0">
  186. <i class="fa fa-toggle-on text-success {eq name=" $row.isnav" value="0"}fa-flip-horizontal text-gray{/eq} fa-2x"></i>
  187. </a>
  188. </div>
  189. </div>
  190. <div id="extend">{include file="cms/common/fields"}</div>
  191. <div class="form-group">
  192. <label class="control-label col-xs-12 col-sm-2">{:__('Status')}:</label>
  193. <div class="col-xs-12 col-sm-8">
  194. <div class="radio">
  195. {foreach name="statusList" item="vo"}
  196. <label for="row[status]-{$key}"><input id="row[status]-{$key}" name="row[status]" type="radio" value="{$key}" {in name="key" value="$row.status" }checked{/in} /> {$vo}</label>
  197. {/foreach}
  198. </div>
  199. </div>
  200. </div>
  201. <div class="form-group layer-footer">
  202. <label class="control-label col-xs-12 col-sm-2"></label>
  203. <div class="col-xs-12 col-sm-8">
  204. <button type="submit" class="btn btn-primary btn-embossed disabled">{:__('OK')}</button>
  205. <button type="reset" class="btn btn-default btn-embossed">{:__('Reset')}</button>
  206. </div>
  207. </div>
  208. </form>
  209. <script type="text/html" id="outlinktpl">
  210. <div class="alert alert-info-light" style="margin-bottom:0;position:relative;margin-top:10px;">
  211. 类型:<%=type=='page'?'单页':(type=='special'?'专题':'自定义表单')%><br>
  212. 标题:<%=title%><br>
  213. 链接:<a href="<%=url%>" target="_blank"><%=url%></a><br>
  214. <a href="javascript:" class="btn btn-info btn-remove-link" style="position:absolute;right:10px;top:10px;color:#fff;text-decoration: none;"><i class="fa fa-close"></i> 移除</a>
  215. </div>
  216. </script>