publish.html 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <title>layui</title>
  6. <meta name="renderer" content="webkit">
  7. <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
  8. <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
  9. <link rel="stylesheet" href="__PUBLIC__/layui/css/layui.css" media="all">
  10. <link rel="stylesheet" href="__PUBLIC__/font-awesome/css/font-awesome.min.css" media="all"/>
  11. <link rel="stylesheet" href="__CSS__/admin.css" media="all">
  12. </head>
  13. <style>
  14. .layui-upload-img{
  15. cursor: pointer;
  16. width:150px;
  17. height:150px;
  18. background: url('__PUBLIC__/images/uploadimg.jpg');
  19. background-size:contain;
  20. border-radius: 2px;
  21. border-width: 1px;
  22. border-style: solid;
  23. border-color: #e6e6e6;
  24. }
  25. </style>
  26. <body style="padding:10px;">
  27. <div class="tplay-body-div">
  28. {empty name="$article" }
  29. <div class="layui-tab">
  30. <ul class="layui-tab-title">
  31. <li><a href="{:url('admin/article/index')}" class="a_menu">文章管理</a></li>
  32. <li class="layui-this">新增文章</li>
  33. </ul>
  34. </div>
  35. {/empty}
  36. <div style="margin-top: 20px;">
  37. </div>
  38. <form class="layui-form" id="admin">
  39. <div class="layui-col-md6">
  40. <div class="layui-form-item">
  41. <label class="layui-form-label">标题</label>
  42. <div class="layui-input-block">
  43. <input name="title" lay-verify="title" autocomplete="off" placeholder="请输入标题" class="layui-input"
  44. type="text" {notempty name="$article.title" }value="{$article.title}" {/notempty}>
  45. </div>
  46. </div>
  47. <div class="layui-form-item layui-form-text">
  48. <label class="layui-form-label">SEO标题</label>
  49. <div class="layui-input-block">
  50. <input placeholder="请输入" name="seo_title" class="layui-input" type="text" autocomplete="off"
  51. value="{notempty name=" $article.seo_title"}{$article.seo_title}{/notempty}">
  52. </div>
  53. </div>
  54. <div class="layui-form-item layui-form-text">
  55. <label class="layui-form-label">SEO关键词</label>
  56. <div class="layui-input-block">
  57. <input placeholder="关键词之间用(英文,逗号)隔开" class="layui-input" name="seo_keyword" autocomplete="off"
  58. type="text" {notempty name="$article.seo_keyword" }value="{$article.seo_keyword}" {/notempty}>
  59. </div>
  60. </div>
  61. <div class="layui-form-item layui-form-text">
  62. <label class="layui-form-label">SEO描述</label>
  63. <div class="layui-input-block">
  64. <textarea placeholder="请输入" class="layui-textarea" name="seo_description">{notempty name="$article.seo_description"}{$article.seo_description}{/notempty}</textarea>
  65. </div>
  66. </div>
  67. <div class="layui-form-item">
  68. <label class="layui-form-label">标签</label>
  69. <div class="layui-input-block">
  70. <input name="tag" autocomplete="off" placeholder="标签之间用(英文,逗号)隔开" class="layui-input" type="text" {notempty name="$article.tag" }value="{$article.tag}" {/notempty}>
  71. </div>
  72. </div>
  73. </div>
  74. <div class="layui-col-md6">
  75. <div class="layui-upload">
  76. <label class="layui-form-label">配图</label>
  77. <div class="layui-upload-list" style="margin-top: 0px">
  78. <img class="layui-upload-img" id="upload_img" {notempty name="$thumb"}src='{$thumb|geturl}'{/notempty}>
  79. <input type="hidden" name="thumb" id="upload_value" value='{notempty name="$thumb"}{$thumb}{/notempty}'>
  80. </div>
  81. </div>
  82. {notempty name="$cates"}
  83. <div class="layui-form-item">
  84. <label class="layui-form-label">分类</label>
  85. <div class="layui-input-inline" style="width:300px;">
  86. <select name="article_cate_id" lay-filter="" lay-search="">
  87. <option value="">请选择分类</option>
  88. {volist name="$cates" id="vo"}
  89. <option value="{$vo.id}"
  90. {notempty name="$article.article_cate_id" }
  91. {eq name="$article.article_cate_id" value="$vo.id" } selected="" {/eq}{/notempty}>{$vo.str}{$vo.title}</option>
  92. {/volist}
  93. </select>
  94. </div>
  95. <div class="layui-form-mid layui-word-aux">选择发布到哪个分类</div>
  96. </div>
  97. {/notempty}
  98. {notempty name="$catalogs"}
  99. <div class="layui-form-item">
  100. <label class="layui-form-label">栏目</label>
  101. <div class="layui-input-inline" style="width:300px;">
  102. <select name="catalog_id" lay-filter="" lay-search="">
  103. <option value="">请选择栏目</option>
  104. {volist name="$catalogs" id="vo"}
  105. <option value="{$vo.id}" {notempty name="$article" }{eq name="$article.catalog_id" value="$vo.id" } selected="" {/eq}{/notempty}>{$vo.str}{$vo.title}</option>
  106. {/volist}
  107. </select>
  108. </div>
  109. <div class="layui-form-mid layui-word-aux">选择发布到哪个栏目</div>
  110. </div>
  111. {/notempty}
  112. {notempty name="$article"}
  113. {php}try{{/php}
  114. {notempty name="$article->getUri()"}
  115. <div class="layui-form-item">
  116. <label class="layui-form-label">路径</label>
  117. <div class="layui-form-mid layui-word-aux">{$article->getUri()}</div>
  118. </div>
  119. {/notempty}
  120. {php}}catch(\Exception $e){}{/php}
  121. {/notempty}
  122. </div>
  123. <script src="__PUBLIC__/layui/layui.js"></script>
  124. <script src="__PUBLIC__/jquery/jquery.min.js"></script>
  125. <script src="__PUBLIC__/helper.js"></script>
  126. <!--文章编辑器-->
  127. {switch name="$article_editor" }
  128. {case value="ueditor"} {include file="article/publish_ueditor" item="article" field="content"}{/case}
  129. {case value="tinymce"} {include file="article/publish_tinymce" item="article" field="content"}{/case}
  130. {case value="markdown"} {include file="article/publish_markdown" item="article" field="content"}{/case}
  131. {default /} {include file="article/publish_wangEditor" item="article" field="content"}
  132. {/switch}
  133. <div class="layui-form-item">
  134. <label class="layui-form-label">发布状态</label>
  135. <div class="layui-input-block" style="max-width:500px;">
  136. <input type="radio" name="status" value="1" title="立即发布" {notempty name="$article"}{if condition="$article.status eq '1'"}checked{/if}{else/}checked{/notempty}>
  137. <input type="radio" name="status" value="0" title="保存草稿" {notempty name="$article"}{if condition="$article.status eq '0'"}checked{/if}{/notempty}>
  138. </div>
  139. </div>
  140. {notempty name="$article"}
  141. <input type="hidden" name="id" value="{$article.id}">
  142. {/notempty}
  143. <input type="hidden" name="article_editor" value="{$article_editor}">
  144. <div class="layui-form-item">
  145. <div class="layui-input-block">
  146. <button class="layui-btn" lay-submit lay-filter="admin">保存</button>
  147. <!--<button type="reset" class="layui-btn layui-btn-primary">重置</button>-->
  148. <button type="button" class="layui-btn layui-btn-primary" onclick="location.href='{$switch_editor_url}'">切换编辑器</button>
  149. </div>
  150. </div>
  151. </form>
  152. <script>
  153. $(function () {
  154. $('#upload_img').click(function () {
  155. layer.open({
  156. type: 2,
  157. title: '选择图片',
  158. area: ['570px', '485px'],
  159. id: 'layerDemo', //防止重复弹出
  160. anim: 4,
  161. content: "{:url('Attachment/selectimage')}",
  162. cancel: function () {
  163. //右上角关闭回调
  164. }
  165. });
  166. })
  167. })
  168. </script>
  169. <script>
  170. layui.use(['layer', 'form'], function () {
  171. var layer = layui.layer,
  172. $ = layui.jquery,
  173. form = layui.form;
  174. $(window).on('load', function () {
  175. form.on('submit(admin)', function (data) {
  176. if (isExitsFunction('beforeSubmit')) {
  177. beforeSubmit()
  178. }
  179. $.ajax({
  180. url: "{:url('admin/article/publish')}",
  181. data: $('#admin').serialize(),
  182. type: 'post',
  183. dataType: 'json',
  184. async: false,
  185. success: function (res) {
  186. if (res.code == 1) {
  187. if (res.msg == "添加成功") {
  188. layer.alert(res.msg, function (index) {
  189. location.href = res.url;
  190. })
  191. }else{
  192. layer.confirm(res.msg, {
  193. btn: ['关闭', '继续编辑']
  194. }, function (index) {
  195. window.parent.tab.close('article{$article.id|default=0}');
  196. }, function (index, layero) {
  197. location.href = res.url;
  198. });
  199. }
  200. } else {
  201. layer.msg(res.msg);
  202. }
  203. }
  204. })
  205. return false;
  206. });
  207. });
  208. });
  209. </script>
  210. </div>
  211. </body>
  212. </html>