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

410 lines
19KB

  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. <script src="../static/web/js/jquery.min.js"></script>
  11. <script>
  12. var channelArray = new Array();
  13. <?php
  14. $i = 0;
  15. foreach($channelArray as $k=> $arr)
  16. {
  17. echo "channelArray[$k] = \"{$arr['nid']}\";";
  18. }
  19. ?>
  20. function Nav() {
  21. if (window.navigator.userAgent.indexOf("MSIE") >= 1) return 'IE';
  22. else if (window.navigator.userAgent.indexOf("Firefox") >= 1) return 'FF';
  23. else return "OT";
  24. }
  25. function SelectTemplets(fname) {
  26. var pos = GetWinPos(800,600);
  27. window.open("./dialog/select_templets.php?f=" + fname, "poptempWin", "scrollbars=yes,resizable=yes,statebar=no,width=800,height=600,left=" + pos.left + ", top=" + pos.top);
  28. }
  29. function ShowHide(objname) {
  30. var obj = document.getElementById(objname);
  31. if (obj.style.display != "none")
  32. obj.style.display = "none";
  33. else {
  34. if (Nav() == 'IE') obj.style.display = "block";
  35. else obj.style.display = "block";
  36. }
  37. }
  38. function ShowObj(objname) {
  39. var obj = document.getElementById(objname);
  40. if (Nav() == 'IE') obj.style.display = "block";
  41. else obj.style.display = "table";
  42. }
  43. function HideObj(objname) {
  44. var obj = document.getElementById(objname);
  45. obj.style.display = "none";
  46. }
  47. function ShowItem1() {
  48. ShowObj('head1'); ShowObj('needset');
  49. HideObj('head2'); HideObj('adset');
  50. HideObj('head3'); HideObj('ctset');
  51. }
  52. function ShowItem2() {
  53. ShowObj('head2'); ShowObj('adset');
  54. HideObj('head1'); HideObj('needset');
  55. HideObj('head3'); HideObj('ctset');
  56. }
  57. function ShowItem3() {
  58. ShowObj('head3'); ShowObj('ctset');
  59. HideObj('head1'); HideObj('needset');
  60. HideObj('head2'); HideObj('adset');
  61. }
  62. function CheckTypeDir() {
  63. var upinyin = document.getElementById('upinyin');
  64. var tpobj = document.getElementById('typedir');
  65. if (upinyin.checked) tpobj.style.display = "none";
  66. else tpobj.style.display = "block";
  67. }
  68. function ParTemplet(obj) {
  69. var sevvalue = channelArray[obj.value];
  70. var tobj = document.getElementById('smclass');
  71. var tempindex = document.getElementsByName('tempindex');
  72. var templist = document.getElementsByName('templist');
  73. var temparticle = document.getElementsByName('temparticle');
  74. var dfstyle = document.getElementsByName('dfstyle');
  75. var dfstyleValue = dfstyle[0].value;
  76. tempindex[0].value = dfstyleValue + "/index_" + sevvalue + ".htm";
  77. templist[0].value = dfstyleValue + "/list_" + sevvalue + ".htm";
  78. temparticle[0].value = dfstyleValue + "/article_" + sevvalue + ".htm";
  79. if (obj.value < 0) {
  80. if (Nav() == 'IE') tobj.style.display = "block";
  81. else tobj.style.display = "table-row";
  82. } else {
  83. tobj.style.display = "none";
  84. }
  85. }
  86. function checkSubmit() {
  87. if (document.form1.typename.value == "") {
  88. alert("栏目名称不能为空");
  89. document.form1.typename.focus();
  90. return false;
  91. }
  92. return true;
  93. }
  94. function CheckCross() {
  95. var cross2 = document.getElementById('cross2');
  96. var crossid = document.getElementById('crossid');
  97. if (cross2.checked) crossid.style.display = 'block';
  98. else crossid.style.display = 'none';
  99. }
  100. </script>
  101. </head>
  102. <body>
  103. <table width="98%" cellpadding="0" cellspacing="0" align="center" class="mt-3">
  104. <tr>
  105. <td>
  106. <form name="form1" action="catalog_edit.php" method="post" onSubmit="return checkSubmit()">
  107. <input type="hidden" name="dopost" value="save">
  108. <input type="hidden" name="id" value="<?php echo $id;?>">
  109. <input type="hidden" name="topid" value="<?php echo $myrow['topid'];?>">
  110. <table width="100%" cellspacing="0" cellpadding="0" id="head1">
  111. <tr>
  112. <td>
  113. <table cellpadding="0" cellspacing="0">
  114. <tr>
  115. <td width="80" align="center" class="admin-itemnote1">常规选项</td>
  116. <td width="80" align="center" class="admin-itemnote2"><a href="javascript:;" onClick="ShowItem2()">高级选项</a></td>
  117. <td width="80" align="center" class="admin-itemnote2"><a href="javascript:;" onClick="ShowItem3()">栏目文档</a></td>
  118. </tr>
  119. </table>
  120. </td>
  121. </tr>
  122. </table>
  123. <table width="100%" cellspacing="0"cellpadding="0" id="head2" style="display:none">
  124. <tr>
  125. <td>
  126. <table cellpadding="0" cellspacing="0">
  127. <tr>
  128. <td width="80" align="center" class="admin-itemnote2"><a href="javascript:;" onClick="ShowItem1()">常规选项</a></td>
  129. <td width="80" align="center" class="admin-itemnote1">高级选项</td>
  130. <td width="80" align="center" class="admin-itemnote2"><a href="javascript:;" onClick="ShowItem3()">栏目文档</a></td>
  131. </tr>
  132. </table>
  133. </td>
  134. </tr>
  135. </table>
  136. <table width="100%" cellspacing="0" cellpadding="0" id="head3" style="display:none">
  137. <tr>
  138. <td>
  139. <table cellpadding="0" cellspacing="0">
  140. <tr>
  141. <td width="80" align="center" class="admin-itemnote2"><a href="javascript:;" onClick="ShowItem1()">常规选项</a></td>
  142. <td width="80" align="center" class="admin-itemnote2"><a href="javascript:;" onClick="ShowItem2()">高级选项</td>
  143. <td width="80" align="center" class="admin-itemnote1">栏目文档</td>
  144. </tr>
  145. </table>
  146. </td>
  147. </tr>
  148. </table>
  149. <table width="100%" cellspacing="0" cellpadding="0" id="needset" class="table admin-border">
  150. <tr>
  151. <td width="260">是否支持投稿:</td>
  152. <td>
  153. <label><input type="radio" name="issend" value="1" <?php if ($myrow['issend']=="1") echo "checked='1'";?>> 支持</label>
  154. <label><input type="radio" name="issend" value="0" <?php if ($myrow['issend']=="0") echo "checked='1'";?>> 不支持</label>
  155. </td>
  156. </tr>
  157. <tr>
  158. <td width="260">是否隐藏栏目:</td>
  159. <td>
  160. <label><input type="radio" name="ishidden" value="0" <?php if ($myrow['ishidden']=="0") echo "checked='1'";?>> 显示</label>
  161. <label><input type="radio" name="ishidden" value="1" <?php if ($myrow['ishidden']=="1") echo "checked='1'";?>> 隐藏</label>
  162. </td>
  163. </tr>
  164. <tr>
  165. <td>文档模型:</td>
  166. <td>
  167. <select name="channeltype" id="channeltype" onChange="ParTemplet(this)" class="admin-input-sm">
  168. <?php
  169. foreach($channelArray as $k=>$arr)
  170. {
  171. if ($k==$channelid) echo " <option value='{$k}' selected>{$arr['typename']} {$arr['nid']}</option>";
  172. else echo " <option value='{$k}'>{$arr['typename']} {$arr['nid']}</option>";
  173. }
  174. ?>
  175. </select>
  176. <input type="hidden" value="{style}" name="dfstyle">
  177. </td>
  178. </tr>
  179. <tr>
  180. <td>中文名称:</td>
  181. <td><input type="text" name="typename" value="<?php echo $myrow['typename']?>" class="admin-input-md"></td>
  182. </tr>
  183. <tr>
  184. <td>中文概述:</td>
  185. <td><input type="text" name="cnoverview" value="<?php echo $myrow['cnoverview']?>" class="admin-input-md"></td>
  186. </tr>
  187. <tr>
  188. <td>英文名称:</td>
  189. <td><input type="text" name="enname" value="<?php echo $myrow['enname']?>" class="admin-input-md"></td>
  190. </tr>
  191. <tr>
  192. <td>英文概述:</td>
  193. <td><input type="text" name="enoverview" value="<?php echo $myrow['enoverview']?>" class="admin-input-md"></td>
  194. </tr>
  195. <tr>
  196. <td>栏目大图:</td>
  197. <td>
  198. <input type="text" name="bigpic" value="<?php echo $myrow['bigpic']?>" class="admin-input-md">
  199. <input type="button" class="btn btn-success btn-sm" value="浏览" onClick="SelectImage('form1.bigpic');">
  200. </td>
  201. </tr>
  202. <tr>
  203. <td>栏目小图:</td>
  204. <td>
  205. <input type="text" name="litimg" value="<?php echo $myrow['litimg']?>" class="admin-input-md">
  206. <input type="button" class="btn btn-success btn-sm" value="浏览" onClick="SelectImage('form1.litimg');">
  207. </td>
  208. </tr>
  209. <tr>
  210. <td>排列顺序:</td>
  211. <td><input type="text" name="sortrank" value="<?php echo $myrow['sortrank']?>" class="admin-input-sm">(由低 &gt; 高)</td>
  212. </tr>
  213. <tr>
  214. <td>浏览权限:</td>
  215. <td>
  216. <select name="corank" id="corank" class="admin-input-sm">
  217. <?php
  218. $dsql->SetQuery("SELECT * FROM `#@__arcrank` where `rank` >= 0");
  219. $dsql->Execute('cc');
  220. while($row = $dsql->GetObject('cc'))
  221. {
  222. if ($myrow['corank']==$row->rank)
  223. echo "<option value='".$row->rank."' selected>".$row->membername."</option>";
  224. else
  225. echo "<option value='".$row->rank."'>".$row->membername."</option>";
  226. }
  227. ?>
  228. </select>(仅限制栏目里的文档浏览权限)
  229. </td>
  230. </tr>
  231. <tr>
  232. <td>文件保存目录:</td>
  233. <td><input type="text" name="typedir" id="typedir" value="<?php echo $myrow['typedir']?>" class="admin-input-md">(标签“{cmspath}”请勿删除)</td>
  234. </tr>
  235. <tr>
  236. <td>栏目列表选项:</td>
  237. <td>
  238. <label><input type="radio" name="isdefault" value="1" <?php if ($myrow['isdefault']==1) echo "checked='1'";?>> 链接到默认页</label>
  239. <label><input type="radio" name="isdefault" value="0" <?php if ($myrow['isdefault']==0) echo "checked='1'";?>> 链接到列表第一页</label>
  240. <label><input type="radio" name="isdefault" value="-1" <?php if ($myrow['isdefault']==-1) echo "checked='1'";?>> 使用动态页</label>
  241. </td>
  242. </tr>
  243. <tr>
  244. <td>默认页的名称:</td>
  245. <td><input type="text" name="defaultname" value="<?php echo $myrow['defaultname']?>" class="admin-input-md"></td>
  246. </tr>
  247. <tr>
  248. <td>栏目属性:</td>
  249. <td>
  250. <label><input type="radio" name="ispart" value="0" <?php if ($myrow['ispart']==0) echo "checked='1'";?>> 列表栏目(允许发布文档)</label>
  251. <label><input type="radio" name="ispart" value="1" <?php if ($myrow['ispart']==1) echo "checked='1'";?>> 封面栏目(不允许发布文档)</label>
  252. <label><input type="radio" name="ispart" value="2" <?php if ($myrow['ispart']==2) echo "checked='1'";?>> 外部栏目(文件保存目录处填写链接)</label>
  253. </td>
  254. </tr>
  255. <tr>
  256. <td>栏目交叉:仅适用列表栏目 <i onClick="ShowHide('helpvarco')" class="fa fa-question-circle" title="帮助"></i></td>
  257. <td>
  258. <label><input type="radio" name="cross" id="cross0" value="0" onClick="CheckCross()" <?php if ($myrow['cross']==0) echo "checked='1'";?>> 不交叉</label>
  259. <label><input type="radio" name="cross" id="cross1" value="1" onClick="CheckCross()" <?php if ($myrow['cross']==1) echo "checked='1'";?>> 自动获取同名栏目文档</label>
  260. <label><input type="radio" name="cross" id="cross2" value="2" onClick="CheckCross()" <?php if ($myrow['cross']==2) echo "checked='1'";?>> 手工指定交叉栏目id(用英文逗号)</label><br>
  261. <textarea name="crossid" id="crossid" class="admin-textarea-sm" style="<?php if ($myrow['cross']!=2) echo'display:none';?>"><?php echo $myrow['crossid'];?></textarea>
  262. <div id="helpvarco" class="alert alert-warning my-2" style="display:none">交叉栏目是指一个大栏目与另一个非下级的子栏目出现交叉的情况,相当于系统原来的副栏目功能,不过现在改在栏目里预先设置好。注:会自动索引交叉栏目的文档,但不会索引交叉栏目下级栏目的文档,这种应用也适用于按地区划分资讯的站点</div>
  263. </td>
  264. </tr>
  265. <tr id="smclass" style="<?php echo ($channelid<0 ? '' : 'display:none');?>">
  266. <td>绑定小分类:仅适用分类模型</td>
  267. <td>
  268. <select name="smalltype[]" multiple="yes" class="admin-input-md" style="height:200px">
  269. <?php
  270. $smtypes = explode(',',trim($myrow['smalltypes']));
  271. $sql = "SELECT * FROM `#@__sys_enum` WHERE egroup LIKE 'infotype' ORDER BY disorder ASC, id DESC ";
  272. $dsql->Execute('s',$sql);
  273. while($arr = $dsql->GetArray('s'))
  274. {
  275. if (in_array($arr['evalue'],$smtypes)) {
  276. $selstr = " selected='1' ";
  277. } else {
  278. $selstr = '';
  279. }
  280. if ($arr['evalue']%500==0) {
  281. echo "<option value='{$arr['evalue']}'{$selstr}>{$arr['ename']}</option>";
  282. }
  283. else if (preg_match("#\.#", $arr['evalue']))
  284. {
  285. echo "<option value='{$arr['evalue']}'{$selstr}>└─ {$arr['ename']}</option>";
  286. } else {
  287. echo "<option value='{$arr['evalue']}'{$selstr}>{$arr['ename']}</option>";
  288. }
  289. }
  290. ?>
  291. </select>(按Ctrl多选,更多分类,在<a href="stepselect_main.php">“联动类别管理”</a>中管理)
  292. </td>
  293. </tr>
  294. </table>
  295. <table width="100%" cellspacing="0" cellpadding="0" id="adset" class="table admin-border" style="display:none">
  296. <tr>
  297. <td width="260">多站点支持:</td>
  298. <td>
  299. <label><input type="radio" name="moresite" value="1" <?php if ($myrow['moresite']==1) echo "checked='1'";?>> 启用</label>
  300. <label><input type="radio" name="moresite" value="0" <?php if ($myrow['moresite']==0) echo "checked='1'";?>> 不启用</label>(绑名绑定仅需要在顶级栏目设定,子级栏目修改无效)
  301. </td>
  302. </tr>
  303. <tr>
  304. <td>绑定域名:</td>
  305. <td><input type="text" name="siteurl" id="siteurl" value="<?php echo $myrow['siteurl']?>" class="admin-input-md">(需要加http开头的链接)</td>
  306. </tr>
  307. <tr>
  308. <td>列表模板:</td>
  309. <td>
  310. <input type="text" name="templist" value="<?php echo $myrow['templist']?>" class="admin-input-md">
  311. <button type="button" name="set3" class="btn btn-success btn-sm" onClick="SelectTemplets('form1.templist')">浏览</button>
  312. </td>
  313. </tr>
  314. <tr>
  315. <td>封面模板:</td>
  316. <td>
  317. <input type="text" name="tempindex" value="<?php echo $myrow['tempindex']?>" class="admin-input-md">
  318. <button type="button" name="set1" class="btn btn-success btn-sm" onClick="SelectTemplets('form1.tempindex')">浏览</button>
  319. <i onClick="ShowHide('helpvar1')" class="fa fa-question-circle" title="帮助"></i>
  320. <div id="helpvar1" class="alert alert-warning my-2" style="display:none">
  321. {tid} 栏目id<br>
  322. {cid} 栏目模型名字id
  323. </div>
  324. </td>
  325. </tr>
  326. <tr>
  327. <td>文档模板:</td>
  328. <td>
  329. <input type="text" name="temparticle" value="<?php echo $myrow['temparticle']?>" class="admin-input-md">
  330. <button type="button" name="set4" class="btn btn-success btn-sm" onClick="SelectTemplets('form1.temparticle')">浏览</button>
  331. </td>
  332. </tr>
  333. <tr>
  334. <td>列表命名规则:</td>
  335. <td>
  336. <input type="text" name="namerule2" id="namerule2" value="<?php echo $myrow['namerule2']?>" class="admin-input-md">
  337. <i onClick="ShowHide('helpvar3')" class="fa fa-question-circle" title="帮助"></i>
  338. <div id="helpvar3" class="alert alert-warning my-2" style="display:none">
  339. 静态规则<br>
  340. {tid} 栏目id<br>
  341. {page} 栏目页码数<br>
  342. <hr>
  343. 伪静态规则(Nginx)<br>
  344. rewrite ^/list-([0-9]+)$ /apps/list.php?tid=$1;<br>
  345. rewrite ^/list-([0-9]+)-([0-9]+)$ /apps/list.php?tid=$1&PageNo=$2;
  346. </div>
  347. </td>
  348. </tr>
  349. <tr>
  350. <td>文档命名规则:</td>
  351. <td>
  352. <input type="text" name="namerule" id="namerule" value="<?php echo $myrow['namerule']?>" class="admin-input-md">
  353. <i onClick="ShowHide('helpvar2')" class="fa fa-question-circle" title="帮助"></i>
  354. <div id="helpvar2" class="alert alert-warning my-2" style="display:none">
  355. 静态规则<br>
  356. {Y}{M}{D} 年月日<br>
  357. {timestamp} INT类型的UNIX时间戳<br>
  358. {aid} 文档id<br>
  359. {pinyin} 拼音加文档id<br>
  360. {py} 拼音部首加文档id<br>
  361. {typedir} 栏目保存目录<br>
  362. {cc} 日期加混编id后用转换为适合字母<br>
  363. <hr>
  364. 伪静态规则(Nginx)<br>
  365. rewrite ^/([0-9]+).html$ /apps/view.php?arcID=$1;<br>
  366. rewrite ^/([0-9]+)-([0-9]+).html$ /apps/view.php?aid=$1&pageno=$2;
  367. </div>
  368. </td>
  369. </tr>
  370. <tr>
  371. <td>SEO标题:</td>
  372. <td><input type="text" name="seotitle" id="seotitle" value="<?php echo $myrow['seotitle']?>" class="admin-input-md">(标签“{dede:field.seotitle/}”进行调用)</td>
  373. </tr>
  374. <tr>
  375. <td>关键词:</td>
  376. <td><textarea name="keywords" cid="keywords" class="admin-textarea-sm"><?php echo $myrow['keywords']?></textarea>(标签“{dede:field.keywords/}”进行调用)</td>
  377. </tr>
  378. <tr>
  379. <td>栏目描述:</td>
  380. <td><textarea name="description" id="description" class="admin-textarea-sm"><?php echo $myrow['description']?></textarea>(标签“{dede:field.description/}”进行调用)</td>
  381. </tr>
  382. <tr>
  383. <td>继承选项:</td>
  384. <td><label><input type="checkbox" name="upnext" id="upnext" value="1"> 同时继承下级栏目浏览权限、文档类型、模板风格、命名规则等通用属性</label></td>
  385. </tr>
  386. </table>
  387. <table width="100%" cellspacing="0" cellpadding="0" id="ctset" class="table admin-border" style="display:none">
  388. <tr>
  389. <td>
  390. <div class="alert alert-info mb-0">栏目文档是替代原来栏目单独页的更灵活的一种方式,常用于企业简介之类的用途,标签“{dede:field.content/}”调用</div>
  391. </td>
  392. </tr>
  393. <tr>
  394. <td><?php GetEditor("content",$myrow['content'],"400","Default","print","false");?></td>
  395. </tr>
  396. </table>
  397. <table width="100%" cellspacing="0" cellpadding="0" class="admin-border border-top-0 mb-3">
  398. <tr>
  399. <td bgcolor="#f5f5f5" align="center" class="py-2">
  400. <button type="submit" class="btn btn-success btn-sm">保存</button>
  401. <a href="catalog_main.php" class="btn btn-outline-success btn-sm">返回</a>
  402. </td>
  403. </tr>
  404. </table>
  405. </form>
  406. </td>
  407. </tr>
  408. </table>
  409. </body>
  410. </html>