edit.html 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262
  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 tf tf-list">
  39. <label for="c-cycle" class="control-label col-xs-12 col-sm-2">{:__('Cycle')}:</label>
  40. <div class="col-xs-12 col-sm-8">
  41. <input id="c-cycle" class="form-control" name="row[cycle]" placeholder="请输入周期" title="请输入周期" value="{$row.cycle|htmlentities}">
  42. </div>
  43. </div>
  44. <div class="form-group">
  45. <label for="c-name" class="control-label col-xs-12 col-sm-2">{:__('Name')}:</label>
  46. <div class="col-xs-12 col-sm-4">
  47. <input id="c-name" data-rule="required" class="form-control" name="row[name]" type="text" value="{$row.name|htmlentities}"/>
  48. </div>
  49. </div>
  50. <div class="form-group tf tf-home_button">
  51. <label for="c-content" class="control-label col-xs-12 col-sm-2">{:__('Content')}:</label>
  52. <div class="col-xs-12 col-sm-8">
  53. <input id="c-content" class="form-control" name="row[content]" placeholder="请输入内容" title="请输入内容" value="{$row.content|htmlentities}">
  54. </div>
  55. </div>
  56. <div class="form-group">
  57. <label for="c-flag" class="control-label col-xs-12 col-sm-2">{:__('Flag')}</label>
  58. <div class="col-xs-12 col-sm-4">
  59. <!--@formatter:off-->
  60. <select id="c-flag" class="form-control selectpicker" multiple="" name="row[flag][]">
  61. {foreach name="flagList" item="vo"}
  62. <option value="{$key}" data-subtext="{$key}" {in name="key" value="$row.flag" }selected{/in}>{$vo}</option>
  63. {/foreach}
  64. </select>
  65. <!--@formatter:on-->
  66. </div>
  67. </div>
  68. <div class="form-group">
  69. <label for="c-image" class="control-label col-xs-12 col-sm-2">{:__('Image')}:</label>
  70. <div class="col-xs-12 col-sm-8">
  71. <div class="input-group">
  72. <input id="c-image" data-rule="" class="form-control" size="50" name="row[image]" type="text" value="{$row.image|htmlentities}">
  73. <div class="input-group-addon no-border no-padding">
  74. <span><button type="button" id="plupload-image" class="btn btn-danger plupload" data-maxsize="2M" 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>
  75. <span><button type="button" id="fachoose-image" class="btn btn-primary fachoose" data-maxsize="2M" data-input-id="c-image" data-mimetype="image/*" data-multiple="false"><i class="fa fa-list"></i> {:__('Choose')}</button></span>
  76. </div>
  77. <span class="msg-box n-right" for="c-image"></span>
  78. </div>
  79. <ul class="row list-inline plupload-preview" id="p-image"></ul>
  80. <span class="msg-box tf tf-home_button" style="color: #f00;line-height: 25px">Home menu image size:88*88px</span>
  81. <span class="msg-box tf tf-list" style="color: #f00;line-height: 25px">Home menu image size:18*18px</span>
  82. <p>
  83. <span class="msg-box tf tf-home_button tf-list" style="color: #f00;line-height: 25px">File size:Not greater than 2M</span>
  84. </p>
  85. </div>
  86. </div>
  87. <div class="form-group">
  88. <label for="c-image" class="control-label col-xs-12 col-sm-2">{:__('Hover Image')}:</label>
  89. <div class="col-xs-12 col-sm-8">
  90. <div class="input-group">
  91. <input id="c-hover-image" data-rule="" class="form-control" size="50" name="row[hover_image]" type="text" value="{$row.hover_image|htmlentities}">
  92. <div class="input-group-addon no-border no-padding">
  93. <span><button type="button" id="plupload-image" class="btn btn-danger plupload" data-input-id="c-hover-image" data-mimetype="image/gif,image/jpeg,image/png,image/jpg,image/bmp,image/webp" data-multiple="false" data-preview-id="p-hover-image"><i class="fa fa-upload"></i> {:__('Upload')}</button></span>
  94. <span><button type="button" id="fachoose-image" class="btn btn-primary fachoose" data-input-id="c-hover-image" data-mimetype="image/*" data-multiple="false"><i class="fa fa-list"></i> {:__('Choose')}</button></span>
  95. </div>
  96. <span class="msg-box n-right" for="c-hover-image"></span>
  97. </div>
  98. <ul class="row list-inline plupload-preview" id="p-hover-image"></ul>
  99. </div>
  100. </div>
  101. <div class="form-group">
  102. <label for="c-seotitle" class="control-label col-xs-12 col-sm-2">{:__('Seotitle')}:</label>
  103. <div class="col-xs-12 col-sm-8">
  104. <input id="c-seotitle" data-rule="" class="form-control" name="row[seotitle]" type="text" value="{$row.seotitle|htmlentities}" placeholder="为空时将使用栏目名称">
  105. </div>
  106. </div>
  107. <div class="form-group tf tf-channel tf tf-list">
  108. <label for="c-keywords" class="control-label col-xs-12 col-sm-2">{:__('Keywords')}:</label>
  109. <div class="col-xs-12 col-sm-8">
  110. <input id="c-keywords" data-rule="" class="form-control" name="row[keywords]" data-role="tagsinput" type="text" value="{$row.keywords|htmlentities}">
  111. </div>
  112. </div>
  113. <div class="form-group tf tf-channel tf tf-list">
  114. <label for="c-description" class="control-label col-xs-12 col-sm-2">{:__('Description')}:</label>
  115. <div class="col-xs-12 col-sm-8">
  116. <textarea id="c-description" data-rule="" class="form-control" name="row[description]">{$row.description|htmlentities}</textarea>
  117. </div>
  118. </div>
  119. <div class="form-group">
  120. <label for="c-diyname" class="control-label col-xs-12 col-sm-2">{:__('Diyname')}:</label>
  121. <div class="col-xs-12 col-sm-4">
  122. <input id="c-diyname" data-rule="required; diyname" class="form-control" name="row[diyname]" type="text" value="{$row.diyname|htmlentities}" data-tip="用于伪静态规则中[:diyname]替换">
  123. </div>
  124. </div>
  125. <div class="form-group tf tf-link tf-home_button tf-footer_button">
  126. <label for="c-outlink" class="control-label col-xs-12 col-sm-2">{:__('Outlink')}:</label>
  127. <div class="col-xs-12 col-sm-8">
  128. <div class="input-group">
  129. <input id="c-outlink" data-rule="required" class="form-control" name="row[outlink]" type="text" value="{$row.outlink|htmlentities}">
  130. <span class="input-group-btn">
  131. <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>
  132. </span>
  133. <span class="msg-box n-right"></span>
  134. </div>
  135. <div id="outlink-extend"></div>
  136. <input type="hidden" name="row[linktype]" value="{$row.linktype|default=''|htmlentities}"/>
  137. <input type="hidden" name="row[linkid]" value="{$row.linkid|default=0|htmlentities}"/>
  138. </div>
  139. </div>
  140. <div style="background:#fcf8e3;padding:15px 0 5px 0;margin-bottom:15px;">
  141. <div class="form-group tf tf-channel tf-list">
  142. <label for="c-channeltpl" class="control-label col-xs-12 col-sm-2">{:__('Channeltpl')}:</label>
  143. <div class="col-xs-12 col-sm-4">
  144. <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开头">
  145. </div>
  146. </div>
  147. <div class="form-group tf tf-channel tf-list">
  148. <label for="c-listtpl" class="control-label col-xs-12 col-sm-2">{:__('Listtpl')}:</label>
  149. <div class="col-xs-12 col-sm-4">
  150. <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开头">
  151. </div>
  152. </div>
  153. <div class="form-group tf tf-channel tf-list">
  154. <label for="c-showtpl" class="control-label col-xs-12 col-sm-2">{:__('Showtpl')}:</label>
  155. <div class="col-xs-12 col-sm-4">
  156. <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开头">
  157. </div>
  158. </div>
  159. <div class="form-group tf tf-list tf-channel">
  160. <label for="c-listtype" class="control-label col-xs-12 col-sm-2">{:__('Listtype')}:</label>
  161. <div class="col-xs-12 col-sm-4">
  162. <select name="row[listtype]" id="c-listtype" class="form-control">
  163. {foreach name="listtypeList" item="vo"}
  164. <option value="{$key}" {:$key==$row.listtype?'selected':''}>{$vo}</option>
  165. {/foreach}
  166. </select>
  167. </div>
  168. </div>
  169. <div class="form-group tf tf-channel tf-list">
  170. <label for="c-pagesize" class="control-label col-xs-12 col-sm-2">{:__('Pagesize')}:</label>
  171. <div class="col-xs-12 col-sm-4">
  172. <input id="c-pagesize" data-rule="required" class="form-control" name="row[pagesize]" type="number" value="{$row.pagesize}" data-tip="用于前台列表页分页">
  173. </div>
  174. </div>
  175. <div class="form-group tf tf-channel tf-list">
  176. <label for="c-vip" class="control-label col-xs-12 col-sm-2">{:__('VIP Limit')}:</label>
  177. <div class="col-xs-12 col-sm-4">
  178. {if $vipList}
  179. <select name="row[vip]" id="c-vip" class="form-control" data-tip="高于或等于该VIP等级的用户可查看">
  180. <option value="0">不限制</option>
  181. {foreach name="vipList" id="item"}
  182. <option value="{$item.level}" {:$item.level==$row.vip?'selected':''}>{$item.name} Lv:{$item.level}</option>
  183. {/foreach}
  184. </select>
  185. {else/}
  186. <div class="alert alert-primary-light" style="margin-bottom:0;">未安装或未配置VIP会员插件</div>
  187. {/if}
  188. </div>
  189. </div>
  190. <div class="form-group tf tf-channel tf-list">
  191. <label for="c-pagesize" class="control-label col-xs-12 col-sm-2">{:__('配置同步')}:</label>
  192. <div class="col-xs-12 col-sm-4">
  193. <div style="margin-top:5px;"><label for="syncconfig" style="font-weight:normal;"><input type="checkbox" name="row[syncconfig]" id="syncconfig" /> 同步高亮区域配置到所有子栏目</label></div>
  194. </div>
  195. </div>
  196. </div>
  197. <div class="form-group">
  198. <label for="c-weigh" class="control-label col-xs-12 col-sm-2">{:__('Weigh')}:</label>
  199. <div class="col-xs-12 col-sm-4">
  200. <input id="c-weigh" data-rule="required" class="form-control" name="row[weigh]" type="number" value="{$row.weigh}" data-tip="权重越大越靠前">
  201. </div>
  202. </div>
  203. <div class="form-group tf tf-channel tf-list">
  204. <label class="control-label col-xs-12 col-sm-2">{:__('Iscontribute')}:</label>
  205. <div class="col-xs-12 col-sm-8">
  206. <input id="c-iscontribute" name="row[iscontribute]" type="hidden" value="{$row.iscontribute}">
  207. <a href="javascript:;" data-toggle="switcher" class="btn-switcher" data-input-id="c-iscontribute" data-yes="1" data-no="0">
  208. <i class="fa fa-toggle-on text-success {eq name=" $row.iscontribute" value="0"}fa-flip-horizontal text-gray{/eq} fa-2x"></i>
  209. </a>
  210. </div>
  211. </div>
  212. <div class="form-group">
  213. <label class="control-label col-xs-12 col-sm-2">{:__('Isnav')}:</label>
  214. <div class="col-xs-12 col-sm-8">
  215. <input id="c-isnav" name="row[isnav]" type="hidden" value="{$row.isnav}">
  216. <a href="javascript:;" data-toggle="switcher" class="btn-switcher" data-input-id="c-isnav" data-yes="1" data-no="0">
  217. <i class="fa fa-toggle-on text-success {eq name=" $row.isnav" value="0"}fa-flip-horizontal text-gray{/eq} fa-2x"></i>
  218. </a>
  219. </div>
  220. </div>
  221. <div id="extend">{include file="cms/common/fields"}</div>
  222. <div class="form-group">
  223. <label class="control-label col-xs-12 col-sm-2">{:__('Status')}:</label>
  224. <div class="col-xs-12 col-sm-8">
  225. <div class="radio">
  226. {foreach name="statusList" item="vo"}
  227. <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>
  228. {/foreach}
  229. </div>
  230. </div>
  231. </div>
  232. <div class="form-group">
  233. <label class="control-label col-xs-12 col-sm-2">{:__('Issecondary')}:</label>
  234. <div class="col-xs-12 col-sm-8">
  235. <div class="radio">
  236. {foreach name="secondaryList" item="vo"}
  237. <label for="row[is_secondary]-{$key}"><input id="row[is_secondary]-{$key}" name="row[is_secondary]" type="radio" value="{$key}" {in name="key" value="$row.is_secondary" }checked{/in} /> {$vo}</label>
  238. {/foreach}
  239. </div>
  240. </div>
  241. </div>
  242. <div class="form-group layer-footer">
  243. <label class="control-label col-xs-12 col-sm-2"></label>
  244. <div class="col-xs-12 col-sm-8">
  245. <button type="submit" class="btn btn-primary btn-embossed disabled">{:__('OK')}</button>
  246. <button type="reset" class="btn btn-default btn-embossed">{:__('Reset')}</button>
  247. </div>
  248. </div>
  249. </form>
  250. <script type="text/html" id="outlinktpl">
  251. <div class="alert alert-info-light" style="margin-bottom:0;position:relative;margin-top:10px;">
  252. 类型:<%=type=='page'?'单页':(type=='special'?'专题':'自定义表单')%><br>
  253. 标题:<%=title%><br>
  254. 链接:<a href="<%=url%>" target="_blank"><%=url%></a><br>
  255. <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>
  256. </div>
  257. </script>