edit.html 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195
  1. {extend name="index_layout"/}
  2. {block name="main"}
  3. <style>
  4. .lang-tabs{margin:0 0 15px 0;border-bottom:1px solid #eee;display:flex;gap:8px;flex-wrap:wrap}
  5. .lang-tabs a,.lang-tabs .lang-pill{display:inline-block;padding:9px 14px;border:1px solid #e6e6e6;border-bottom:none;border-radius:6px 6px 0 0;background:#f8f8f8;color:#333;line-height:1.4}
  6. .lang-tabs a.active,.lang-tabs .lang-pill.active{background:#16baaa;color:#fff;border-color:#16baaa}
  7. .lang-tabs .tag-ok{color:#16b777;margin-left:4px}
  8. .lang-tabs .tag-empty{color:#ff5722;margin-left:4px}
  9. .lang-note{margin:-6px 0 15px 110px;color:#999;font-size:12px}
  10. </style>
  11. <form class="layui-form" method="post">
  12. <div class="layui-form-item">
  13. <label class="layui-form-label">编辑语言</label>
  14. <div class="layui-input-block lang-tabs">
  15. {volist name="langs" id="item"}
  16. <a href="{:url('cms.category/edit',['id'=>$data.id,'lang'=>$item.mark])}" class="{if $currentLang == $item.mark}active{/if}">
  17. {$item.name} ({$item.mark})
  18. {if isset($langStatus[$item.mark]) && $langStatus[$item.mark]}<span class="tag-ok">已翻译</span>{else /}<span class="tag-empty">未翻译</span>{/if}
  19. </a>
  20. {/volist}
  21. </div>
  22. </div>
  23. <div class="lang-note">当前语言仅编辑该语言下可翻译栏目字段;唯一标识、上级栏目等公共字段为多语言共用。</div>
  24. <div class="layui-tabs layui-tabs-panel">
  25. <ul class="layui-tabs-header">
  26. <li class="layui-this">基本设置</li>
  27. <li>选项设置</li>
  28. <li id="modeTab">模板设置</li>
  29. <li id="authTab">权限设置</li>
  30. </ul>
  31. <div class="layui-tabs-body">
  32. <div class="layui-tabs-item layui-show">
  33. <div class="alert alert-warning-light">温馨提示<br>列表类型的模型一旦选择后不支持更换其他模型<br>列表改成单页或外链类型后,无法在改回列表类型</div>
  34. <div class="layui-form-item">
  35. <label class="layui-form-label">类型</label>
  36. <div class="layui-input-block">
  37. <input type="radio" name="row[type]" value="1" title="单页" lay-filter="type" {eq name="data.type" value="1" }checked{/eq}>
  38. {if $data.type==2}<input type="radio" name="row[type]" value="2" title="列表" lay-filter="type" checked>{/if}
  39. <input type="radio" name="row[type]" value="3" title="外链" lay-filter="type" {eq name="data.type" value="3" }checked{/eq}>
  40. </div>
  41. </div>
  42. <div class="layui-form-item">
  43. <label class="layui-form-label">上级菜单</label>
  44. <div class="layui-input-block">
  45. <select name="row[parentid]">
  46. <option value="0">作为顶级栏目</option>
  47. {$category|raw}
  48. </select>
  49. </div>
  50. </div>
  51. <div class="layui-form-item">
  52. <label class="layui-form-label">栏目标题</label>
  53. <div class="layui-input-block">
  54. <input type="text" name="row[catname]" autocomplete="off" lay-verify="required" placeholder="栏目名称" class="layui-input" value="{$data.catname}">
  55. </div>
  56. </div>
  57. <div class="layui-form-item">
  58. <label class="layui-form-label">唯一标识</label>
  59. <div class="layui-input-block">
  60. <input type="text" name="row[catdir]" autocomplete="off" placeholder="唯一标识" class="layui-input" value="{$data.catdir}">
  61. </div>
  62. <div class="layui-form-mid no-float layui-word-aux">栏目公共标识,所有语言共用,留空则自动生成拼音</div>
  63. </div>
  64. <div class="layui-form-item lay lay-url">
  65. <label class="layui-form-label">链接地址</label>
  66. <div class="layui-input-block">
  67. <div class="layui-input-inline w300">
  68. <input type="text" name="row[url]" autocomplete="off" placeholder="自定义链接地址" class="layui-input" id="url" value="{$data.url}">
  69. </div>
  70. </div>
  71. </div>
  72. <div class="layui-form-item web_seo">
  73. <label class="layui-form-label">栏目简介</label>
  74. <div class="layui-input-block">
  75. <textarea name="row[description]" placeholder="栏目简介" class="layui-textarea">{$data.description}</textarea>
  76. </div>
  77. </div>
  78. <div class="layui-form-item">
  79. <label class="layui-form-label">栏目图片</label>
  80. <div class="layui-input-block">
  81. {:Form::image("row[image]",$data['image'])}
  82. </div>
  83. </div>
  84. <div class="layui-form-item">
  85. <label class="layui-form-label">栏目图标</label>
  86. <div class="layui-input-block">
  87. {:Form::image("row[icon]",$data['icon'])}
  88. </div>
  89. </div>
  90. </div>
  91. <div class="layui-tabs-item">
  92. <div class="layui-form-item">
  93. <label class="layui-form-label">在导航显示</label>
  94. <div class="layui-input-block">
  95. <input type="radio" name="row[status]" value="1" title="显示" {eq name="data.status" value="1" }checked{/eq}>
  96. <input type="radio" name="row[status]" value="0" title="隐藏" {eq name="data.status" value="0" }checked{/eq}>
  97. </div>
  98. </div>
  99. <div class="layui-form-item">
  100. <label class="layui-form-label">打开方式</label>
  101. <div class="layui-input-block">
  102. <input type="radio" name="row[target]" value="_self" title="当前页面" {eq name="data.target" value="_self" }checked{/eq}>
  103. <input type="radio" name="row[target]" value="_blank" title="新窗口" {eq name="data.target" value="_blank" }checked{/eq}>
  104. </div>
  105. </div>
  106. <div class="layui-form-item">
  107. <label class="layui-form-label">显示排序</label>
  108. <div class="layui-input-block">
  109. <input type="text" name="row[listorder]" autocomplete="off" placeholder="显示排序" class="layui-input" value="{$data['listorder']}">
  110. </div>
  111. </div>
  112. <div class="layui-form-item web_seo">
  113. <label class="layui-form-label">网页标题</label>
  114. <div class="layui-input-block">
  115. <input type="text" name="row[setting][meta_title]" autocomplete="off" placeholder="针对搜索引擎设置的标题" class="layui-input" value="{$setting['meta_title']}">
  116. </div>
  117. </div>
  118. <div class="layui-form-item web_seo">
  119. <label class="layui-form-label">网页关键词</label>
  120. <div class="layui-input-block">
  121. <input type="text" name="row[setting][meta_keywords]" autocomplete="off" placeholder="关键字中间用半角逗号隔开" class="layui-input" value="{$setting['meta_keywords']}">
  122. </div>
  123. </div>
  124. <div class="layui-form-item web_seo">
  125. <label class="layui-form-label">网页描述</label>
  126. <div class="layui-input-block">
  127. <textarea name="row[setting][meta_description]" placeholder="针对搜索引擎设置的网页描述" class="layui-textarea">{$setting['meta_description']}</textarea>
  128. </div>
  129. </div>
  130. </div>
  131. <div class="layui-tabs-item">
  132. <div class="lay lay-list">
  133. <div class="layui-form-item">
  134. <label class="layui-form-label">栏目首页模板</label>
  135. <div class="layui-input-block">
  136. <input class="form-control layui-input selectpage" type="text" name="row[setting][category_template]" data-pagination="false" data-params='{"type":"category"}' data-source="cms.models/get_tpl_list" data-primary-key="name" data-field="name" value="{$setting['category_template']}">
  137. </div>
  138. </div>
  139. <div class="layui-form-item">
  140. <label class="layui-form-label">栏目列表页模板</label>
  141. <div class="layui-input-block">
  142. <input class="form-control layui-input selectpage" type="text" name="row[setting][list_template]" data-pagination="false" data-params='{"type":"list"}' data-source="cms.models/get_tpl_list" data-primary-key="name" data-field="name" value="{$setting['list_template']}">
  143. </div>
  144. </div>
  145. <div class="layui-form-item">
  146. <label class="layui-form-label">内容页模板</label>
  147. <div class="layui-input-block">
  148. <input class="form-control layui-input selectpage" type="text" name="row[setting][show_template]" data-pagination="false" data-params='{"type":"show"}' data-source="cms.models/get_tpl_list" data-primary-key="name" data-field="name" value="{$setting['show_template']}">
  149. </div>
  150. </div>
  151. </div>
  152. <div class="layui-form-item lay lay-page">
  153. <label class="layui-form-label">单页模板</label>
  154. <div class="layui-input-block">
  155. <input class="form-control layui-input selectpage" type="text" name="row[setting][page_template]" data-pagination="false" data-params='{"type":"page"}' data-source="cms.models/get_tpl_list" data-primary-key="name" data-field="name" value="{$setting['page_template']}">
  156. </div>
  157. </div>
  158. <div class="layui-form-item">
  159. <label class="layui-form-label">模板应用到子栏目</label>
  160. <div class="layui-input-block">
  161. <input type="radio" name="row[template_child]" value="1" title="是">
  162. <input type="radio" name="row[template_child]" value="0" title="否" checked>
  163. </div>
  164. </div>
  165. </div>
  166. <div class="layui-tabs-item">
  167. <div class="layui-form-item">
  168. <label class="layui-form-label">会员组权限</label>
  169. <table class="layui-table" style="max-width: 250px;">
  170. <thead><tr><th>会员组名称</th><th>允许投稿</th></tr></thead>
  171. <tbody>
  172. {volist name="userGroup" id="vo"}
  173. <tr>
  174. <td>{$vo}</td>
  175. <td><input type="checkbox" name="row[priv_groupid][]" value="add,{$key}" title="允许" lay-skin="primary" {php} echo (new \app\admin\model\cms\CategoryPriv)->check_category_priv($privs,'add',$key,0);{/php}></td>
  176. </tr>
  177. {/volist}
  178. </tbody>
  179. </table>
  180. </div>
  181. </div>
  182. </div>
  183. </div>
  184. <input type="hidden" name="row[modelid]" value="{$data.modelid}">
  185. <input type="hidden" name="row[id]" value="{$data.id}">
  186. <input type="hidden" name="row[lang]" value="{$currentLang}">
  187. <div class="layui-form-item layer-footer">
  188. <div class="layui-input-block ps-3">
  189. <button class="layui-btn disabled" lay-submit>立即提交</button>
  190. <button type="reset" class="layui-btn layui-btn-primary">重置</button>
  191. </div>
  192. </div>
  193. </form>
  194. {/block}