国内流行的内容管理系统(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.

307 lines
16KB

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