国内流行的内容管理系统(CMS)多端全媒体解决方案 https://www.dedebiz.com
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

288 lines
12KB

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1">
  6. <title>新增自由列表</title>
  7. <link rel="stylesheet" href="../static/web/font/css/font-awesome.min.css">
  8. <link rel="stylesheet" href="../static/web/css/bootstrap.min.css">
  9. <link rel="stylesheet" href="../static/web/css/admin.css">
  10. <link rel="stylesheet" href="css/codemirror.css">
  11. <script src="../static/web/js/jquery.min.js"></script>
  12. <script src="../static/web/js/bootstrap.bundle.min.js"></script>
  13. <script src="js/main.js"></script>
  14. <script src="js/codemirror.js"></script>
  15. <script src="js/mode/xml/xml.js"></script>
  16. <script src="js/mode/javascript/javascript.js"></script>
  17. <script src="js/mode/css/css.js"></script>
  18. <script src="js/mode/htmlmixed/htmlmixed.js"></script>
  19. </head>
  20. <body>
  21. <div id="list1" style="display:none">
  22. <li class="media border-bottom-dashed mt-2 py-2">
  23. <div class="media-body row">
  24. <div class="col-12 title">
  25. <a href="[field:arcurl/]"><h4 class="mt-0 mb-3">[field:title/]</h4></a>
  26. </div>
  27. </div>
  28. </li>
  29. </div>
  30. <div id="list2" style="display:none">
  31. <li class="media border-bottom-dashed mt-2 py-2">
  32. <div class="media-body row">
  33. <div class="col-12 title">
  34. [field:typelink/]
  35. <a href="[field:arcurl/]"><h4 class="mt-0 mb-3">[field:title/]</h4></a>
  36. </div>
  37. </div>
  38. </li>
  39. </div>
  40. <div id="list3" style="display:none">
  41. <table width="98%" cellspacing="2" cellpadding="0">
  42. <tr>
  43. <td align="center">[field:imglink/]</td>
  44. </tr>
  45. <tr>
  46. <td align="center">[field:textlink/]</td>
  47. </tr>
  48. </table>
  49. </div>
  50. <div id="list4" style="display:none">
  51. <li class="media border-bottom-dashed mt-2 py-2">
  52. <div class="media-body row">
  53. <div class="col-12 title">
  54. <a href="[field:arcurl/]">
  55. <h4 class="mt-0 mb-3">[field:title/]</h4>
  56. </a>
  57. </div>
  58. <div class="col-12 description py-2">
  59. <a href="[field:arcurl/]">[field:description/]</a>
  60. </div>
  61. <div class="col-12 addinfo">日期:[field:pubdate function="MyDate('Y-m-d', @me)"/] 点击:[field:click/] 好评:[field:scores/]</div>
  62. </div>
  63. </li>
  64. </div>
  65. <table cellpadding="1" cellspacing="1" align="center" class="table maintable my-3">
  66. <form action="freelist_add.php" method="post" name="form1" onSubmit="return CheckSubmit();">
  67. <input type="hidden" name="dopost" value="save">
  68. <tr>
  69. <td bgcolor="#f5f5f5"><a href="freelist_main.php">自由列表管理</a> &gt; 增加一个列表</td>
  70. </tr>
  71. <tr>
  72. <td class="p-0">
  73. <table cellpadding="0" cellspacing="1" class="table-borderless w-100">
  74. <tr>
  75. <td class="p-0">
  76. <table width="100%" cellspacing="1" cellpadding="0">
  77. <tr>
  78. <td colspan="2">
  79. <div class="alert alert-info mb-0">自由列表标记的说明:自由列表标记(freelist)的功能基本等同于arclist标记,区别是freelist标记支持分页,这让生成按自定义排序规则的文档列表(如按标题拼音部首排序等)等轻松的实现统一化管理,并且自由列是独立编译的,不与其它模板混在一起,这样不会影响系统生成网页或访问速度</div>
  80. </td>
  81. </tr>
  82. <tr>
  83. <td width="260">自由列表标题:</td>
  84. <td><input type="text" name="title" id="title" class="biz-input-md"></td>
  85. </tr>
  86. <tr>
  87. <td>列表HTML存放目录:</td>
  88. <td><input type="text" name="listdir" id="listdir" value="{cmspath}/a/freelist/" class="biz-input-md"> {listdir}变量的值</td>
  89. </tr>
  90. <tr>
  91. <td>目录默认页名称:</td>
  92. <td>
  93. <input type="text" name="defaultpage" id="defaultpage" value="index.html" class="biz-input-md">
  94. <label><input type="checkbox" name="nodefault" id="nodefault" value="1"> 不使用目录默认主页</label>
  95. </td>
  96. </tr>
  97. <tr>
  98. <td>命名规则:</td>
  99. <td><input type="text" name="namerule" id="namerule" value="{listdir}/index_{listid}_{page}.html" class="biz-input-md"></td>
  100. </tr>
  101. <tr>
  102. <td>列表模板:</td>
  103. <td>
  104. <input type="text" name="templet" id="templet" value="{style}/list_free.htm" class="biz-input-md">
  105. <button type="button" name="set4" onClick="SelectTemplets('form1.templet');" class="btn btn-success btn-sm">浏览</button>
  106. </td>
  107. </tr>
  108. <tr>
  109. <td>最大列出页数:</td>
  110. <td><input type="text" name="maxpage" id="maxpage" value="100" class="biz-input-sm"></td>
  111. </tr>
  112. <tr>
  113. <td></td>
  114. <td>以下选项用于模板里的 &lt;meta name=&quot;keywords|description&quot; content=&quot;&quot;&gt; 描述</td>
  115. </tr>
  116. <tr>
  117. <td>关键词:</td>
  118. <td><input type="text" name="keywords" id="keywords" class="biz-input-md"></td>
  119. </tr>
  120. <tr>
  121. <td>列表描述:</td>
  122. <td><textarea name="description" id="description" class="biz-textarea-sm"></textarea></td>
  123. </tr>
  124. </table>
  125. </td>
  126. </tr>
  127. <tr>
  128. <td bgcolor="#e9ecef">列表样式:这里是定义自由列表模板里的{dede:freelist/}标记的样式和属性</td>
  129. </tr>
  130. <tr>
  131. <td>
  132. <table width="98%" cellspacing="0" cellpadding="0">
  133. <tr>
  134. <td width="25%" height="126">
  135. <label><img src="../static/web/img/g_t2.jpg"><input type="radio" name="liststyle" onClick="ChangeListStyle()" value="1"></label>
  136. </td>
  137. <td width="25%">
  138. <label><img src="../static/web/img/g_t1.jpg"><input type="radio" name="liststyle" onClick="ChangeListStyle()" value="2"></label>
  139. </td>
  140. <td width="25%">
  141. <label><img src="../static/web/img/g_t3.jpg"><input type="radio" name="liststyle" onClick="ChangeListStyle()" value="3"></label>
  142. </td>
  143. <td>
  144. <label><img src="../static/web/img/g_t4.jpg"><input type="radio" name="liststyle" onClick="ChangeListStyle()" value="4" checked></label>
  145. </td>
  146. </tr>
  147. </table>
  148. </td>
  149. </tr>
  150. <tr>
  151. <td>限定栏目:
  152. <?php
  153. echo "<select name='typeid' class='biz-input-sm'>";
  154. echo "<option value='0'>不限栏目</option>";
  155. $dsql->SetQuery("Select ID,typename, channeltype From `#@__arctype`");
  156. $dsql->Execute();
  157. while($lrow = $dsql->GetObject()){
  158. $disable = '';
  159. if ($lrow->channeltype < -1) {
  160. $disable = 'disabled';
  161. }
  162. echo "<option value='{$lrow->ID}' $disable>{$lrow->typename}</option>";
  163. }
  164. echo "</select>";
  165. ?>
  166. </td>
  167. </tr>
  168. <tr>
  169. <td>限定栏目:
  170. <?php
  171. echo "<select name='channel' class='biz-input-sm'>";
  172. echo "<option value='0' selected>不限</option>";
  173. $dsql->SetQuery("Select ID,typename From `#@__channeltype` where ID>0");
  174. $dsql->Execute();
  175. while($row = $dsql->GetObject())
  176. {
  177. echo "<option value='{$row->ID}'>{$row->typename}</option>";
  178. }
  179. echo "</select>";
  180. ?>(如果限定了栏目文档模型,则允许使用附加表指定的列表字段作为底层变量)
  181. </td>
  182. </tr>
  183. <tr>
  184. <td>附加属性:
  185. <?php
  186. echo "<select name='att' class='biz-input-sm'>";
  187. echo "<option value='0' selected>不限</option>";
  188. $dsql->SetQuery("SELECT * FROM `#@__arcatt`");
  189. $dsql->Execute();
  190. while($row = $dsql->GetObject())
  191. {
  192. echo "<option value='{$row->att}'>{$row->attname}</option>";
  193. }
  194. echo "</select>";
  195. ?>
  196. 文档发布时间:<input type="text" name="subday" id="subday2" value="0" class="biz-input-sm"> 天以内(0表示不限)
  197. </td>
  198. </tr>
  199. <tr>
  200. <td>
  201. 每页记录数:<input type="text" name="pagesize" id="pagesize" value="30" class="biz-input-sm">
  202. 显示列数: <input type="text" name="col" id="col3" value="1" class="biz-input-sm">
  203. 标题长度:<input type="text" name="titlelen" id="titlelen" value="60" class="biz-input-sm">(1字节 = 0.5个中文字)
  204. </td>
  205. </tr>
  206. <tr>
  207. <td>高级筛选:
  208. <label><input type="checkbox" name="types[]" id="type1" value="image"> 带缩略图</label>
  209. <label><input type="checkbox" name="types[]" id="type2" value="commend"> 推荐</label>
  210. <label><input type="checkbox" name="types[]" id="type3" value="spec"> 专题</label>
  211. 关键词:<input type="text" name="keywordarc" id="keywordarc">(英文逗号分开)
  212. </td>
  213. </tr>
  214. <tr>
  215. <td>排列顺序:
  216. <select name="orderby" id="orderby" class="biz-input-sm">
  217. <option value="sortrank">置顶权限值</option>
  218. <option value="pubdate" selected>发布时间</option>
  219. <option value="senddate">录入时间</option>
  220. <option value="click">点击量</option>
  221. <option value="id">文档id</option>
  222. <option value="lastpost">最后评论时间</option>
  223. <option value="postnum">评论总数</option>
  224. </select>
  225. <label><input type="radio" name="order" value="desc" checked> 由高到低</label>
  226. <label><input type="radio" name="order" value="asc"> 由低到高</label>
  227. </td>
  228. </tr>
  229. <tr>
  230. <td>循环内的单行记录样式(InnerText):<a href='javascript:ShowHide("innervar");'><i class="fa fa-question-circle" title="帮助"></i> 底层变量field参考</a></td>
  231. </tr>
  232. <tr>
  233. <td id="innervar" style="display:none"><span><i class="fa fa-question-circle" title="帮助"></i> 支持字段(底层变量[field:varname/]):id,title,color,typeid,ismake,description,pubdate,senddate,arcrank,click,litpic,typedir,typename,arcurl,typeurl,<br>stime(pubdate 的&quot;0000-00-00&quot;格式),textlink,typelink,imglink,image普通字段直接用[field:字段名/]表示<br>·Pubdate发布时间的调用参数 [field:pubdate function=MyDate('Y-m-d H:i:s',@me)/]</span></td>
  234. </tr>
  235. <tr>
  236. <td>
  237. <textarea name="innertext" id="myinnertext" class="biz-textarea-xl"></textarea>
  238. <script>
  239. document.form1.innertext.value = document.getElementById("list4").innerHTML.toLowerCase();
  240. </script>
  241. </td>
  242. </tr>
  243. <tr>
  244. <td align="center" class="py-2"><button name="Submit2" type="submit" id="Submit2" class="btn btn-success btn-sm">保存</button></td>
  245. </tr>
  246. </table>
  247. </td>
  248. </tr>
  249. </form>
  250. </table>
  251. <script>
  252. var editor = CodeMirror.fromTextArea(document.getElementById('myinnertext'), {
  253. lineNumbers: true,
  254. lineWrapping: true,
  255. mode: 'text/html'
  256. });
  257. function ChangeListStyle() {
  258. var itxt = document.getElementById("myinnertext");
  259. var myems = document.getElementsByName("liststyle");
  260. if (myems[0].checked) editor.setValue(document.getElementById("list1").innerHTML);
  261. else if (myems[1].checked) editor.setValue(document.getElementById("list2").innerHTML);
  262. else if (myems[2].checked) editor.setValue(document.getElementById("list3").innerHTML);
  263. else if (myems[3].checked) editor.setValue(document.getElementById("list4").innerHTML);
  264. editor.setValue(editor.getValue().replace("<BR>", "<br>"));
  265. editor.setValue(editor.getValue().toLowerCase());
  266. }
  267. function ShowHide(objname) {
  268. var obj = document.getElementById(objname);
  269. if (obj.style.display == "block" || obj.style.display == "")
  270. obj.style.display = "none";
  271. else
  272. obj.style.display = "block";
  273. }
  274. function SelectTemplets(fname) {
  275. var pos = GetWinPos(800,600);
  276. window.open("./dialog/select_templets.php?&activepath=<?php echo urlencode($cfg_templets_dir)?>&f=" + fname, "poptempWin", "scrollbars=yes,resizable=yes,statebar=no,width=800,height=600,left=" + pos.left + ", top=" + pos.top);
  277. }
  278. function CheckSubmit() {
  279. if (document.form1.title.value == "") {
  280. ShowMsg("自由列表标题标题不能为空");
  281. document.form1.title.focus();
  282. return false;
  283. }
  284. return true;
  285. }
  286. </script>
  287. </body>
  288. </html>