edit.tpl 3.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. {include file='admin/header.tpl'}
  2. <script src="//cdnjs.cloudflare.com/ajax/libs/tinymce/6.7.1/tinymce.min.js"></script>
  3. <div class="page-wrapper">
  4. <div class="container-xl">
  5. <div class="page-header d-print-none text-white">
  6. <div class="row align-items-center">
  7. <div class="col">
  8. <h2 class="page-title">
  9. <span class="home-title">编辑文档 #{$doc->id}</span>
  10. </h2>
  11. <div class="page-pretitle my-3">
  12. <span class="home-subtitle">编辑站点文档</span>
  13. </div>
  14. </div>
  15. <div class="col-auto ms-auto d-print-none">
  16. <div class="btn-list">
  17. <button id="save-doc" href="#" class="btn btn-primary">
  18. <i class="icon ti ti-device-floppy"></i>
  19. 保存
  20. </button>
  21. </div>
  22. </div>
  23. </div>
  24. </div>
  25. </div>
  26. <div class="page-body">
  27. <div class="container-xl">
  28. <div class="card">
  29. <div class="card-body">
  30. <div class="mb-3">
  31. <label class="form-label col-3 col-form-label">文档标题</label>
  32. <div class="col">
  33. <input id="title" type="text" class="form-control" value="{$doc->title}">
  34. </div>
  35. </div>
  36. <div class="mb-3">
  37. <form method="post">
  38. <textarea id="tinymce">{$doc->content}</textarea>
  39. </form>
  40. </div>
  41. </div>
  42. </div>
  43. </div>
  44. </div>
  45. </div>
  46. <script>
  47. document.addEventListener("DOMContentLoaded", function () {
  48. let options = {
  49. selector: '#tinymce',
  50. menubar: false,
  51. statusbar: false,
  52. plugins:
  53. 'advlist autolink lists link image charmap preview anchor ' +
  54. 'searchreplace visualblocks code fullscreen ' +
  55. 'insertdatetime media table wordcount',
  56. toolbar: 'undo redo | formatselect | ' +
  57. 'bold italic backcolor link | blocks | alignleft aligncenter ' +
  58. 'alignright alignjustify | bullist numlist outdent indent | ' +
  59. 'image removeformat',
  60. image_title: false,
  61. image_description: false,
  62. content_style: 'body { font-family: -apple-system, BlinkMacSystemFont, San Francisco, Segoe UI, Roboto, Helvetica Neue, sans-serif; font-size: 14px; -webkit-font-smoothing: antialiased; }',
  63. {if $user->is_dark_mode}
  64. skin: 'oxide-dark',
  65. content_css: 'dark',
  66. {/if}
  67. }
  68. tinyMCE.init(options);
  69. })
  70. $("#save-doc").click(function () {
  71. $.ajax({
  72. url: '/admin/docs/' + {$doc->id},
  73. type: 'PUT',
  74. dataType: "json",
  75. data: {
  76. title: $("#title").val(),
  77. content: tinyMCE.activeEditor.getContent(),
  78. },
  79. success: function (data) {
  80. if (data.ret === 1) {
  81. $('#success-message').text(data.msg);
  82. $('#success-dialog').modal('show');
  83. window.setTimeout("location.href=top.document.referrer", {$config['jump_delay']});
  84. } else {
  85. $('#fail-message').text(data.msg);
  86. $('#fail-dialog').modal('show');
  87. }
  88. }
  89. })
  90. });
  91. </script>
  92. {include file='admin/footer.tpl'}