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

284 lines
12KB

  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/css/bootstrap.min.css">
  7. <link href="../static/font-awesome/css/font-awesome.min.css" rel="stylesheet">
  8. <link href="css/base.css" rel="stylesheet" type="text/css" />
  9. <script language="javascript" src="../static/js/jquery.js"></script>
  10. <script src="../static/js/bootstrap.bundle.js"></script>
  11. <script language="javascript" src="js/main.js"></script>
  12. <script language="javascript">
  13. var notAllow = " <?php echo $f; ?> ";
  14. function GetFields()
  15. {
  16. var theform = document.form1;
  17. var fieldname = theform.fieldname.value;
  18. var itemname = theform.itemname.value;
  19. var dtype = 'text';
  20. var enums = document.getElementsByName('dtype');
  21. for(i=0;i<enums.length;i++)
  22. {
  23. if(enums[i].checked) dtype = enums[i].value;
  24. }
  25. var isnull = theform.isnull.value;
  26. var vdefault = theform.vdefault.value;
  27. var maxlength = theform.maxlength.value;
  28. var vinnertext = theform.vinnertext.value;
  29. var spage = (theform.spage[0].checked ? theform.spage[0].value : theform.spage[1].value);
  30. var sisnull = (isnull==0 ? "false" : "true");
  31. var autofield = (theform.autofield[0].checked ? theform.autofield[0].value : theform.autofield[1].value);
  32. var islist = (theform.islist.checked ? 1 : 0);
  33. var notsend = (theform.notsend.checked ? 1 : 0);
  34. var automake = theform.relation_automake.checked ? 1 : 0;
  35. if(itemname=="")
  36. {
  37. ShowMsg("表单提示名称不能为空!");
  38. theform.itemname.focus();
  39. return false;
  40. }
  41. if(fieldname=="")
  42. {
  43. ShowMsg("字段名称不能为空!");
  44. theform.fieldname.focus();
  45. return false;
  46. }
  47. if(notAllow.indexOf(" "+fieldname+" ") >-1 )
  48. {
  49. ShowMsg("字段名称不合法,如下字段名已经存在,建议在名称后加上数字以区分:\n"+notAllow);
  50. return false;
  51. }
  52. if((dtype=="radio" || dtype=="select" || dtype=="checkbox") && vdefault=="")
  53. {
  54. ShowMsg("您选择的select或radio、checkbox类型,必须默认值设置选择的项目(用逗号[,]分开)!");
  55. return false;
  56. }
  57. if(spage=="no") spage = "";
  58. relstr = "";
  59. if (dtype==="relation") {
  60. relstr = " automake=\""+automake+"\" channel=\""+$("#channeltype").val()+"\"";
  61. }
  62. revalue = "<field:"+fieldname+" itemname=\""+itemname+"\" autofield=\""+autofield+"\" notsend=\""+notsend+"\" type=\""+dtype+"\"";
  63. revalue += relstr + " isnull=\""+sisnull+"\" islist=\""+islist+"\" default=\""+vdefault+"\" ";
  64. revalue += " maxlength=\""+maxlength+"\" page=\""+spage+"\">\r\n"+vinnertext+"</field:"+fieldname+">\r\n";
  65. document.form1.fieldstring.value = revalue;
  66. return true;
  67. }
  68. $(document).ready(function () {
  69. $("#dataType input").click(function(ele){
  70. if ($(ele.currentTarget).val() === "relation") {
  71. $("#_relation").show();
  72. } else {
  73. $("#_relation").hide();
  74. }
  75. })
  76. });
  77. </script>
  78. <style type="text/css">
  79. td{ padding:2px; padding-left:6px; line-height:150%; }
  80. .STYLE1 {color: #FF3300}
  81. .STYLE2 {color: #666666}
  82. .nw { float:left; width:150px; }
  83. .cls { clear:both; }
  84. </style>
  85. </head>
  86. <body topmargin=8>
  87. <form name="form1" action="mychannel_field_add.php" method="post" onSubmit="return GetFields();">
  88. <input type='hidden' name='action' value='save' />
  89. <input type='hidden' name='id' value='<?php echo $id?>' />
  90. <input type='hidden' name='fieldstring' value='' />
  91. <table width="98%" border="0" cellpadding="1" cellspacing="1" align="center" style="background:#CFCFCF;"
  92. class="table maintable table-bordered mt-3">
  93. <tr>
  94. <td colspan="2" bgcolor="#EDF9D5" background="images/tbg.gif">
  95. <table width="98%" border="0" cellspacing="0" cellpadding="0" class="table table-borderless">
  96. <tr>
  97. <td width="30%" style="padding-left:10px;">
  98. <a href="mychannel_main.php"><b>频道管理</b></a> <b> &gt;&gt; 增加新字段:</b>
  99. </td>
  100. <td align="right">
  101. <button type="button" name="ss1" onClick="location='mychannel_edit.php?id=<?php echo $id?>&dopost=edit';" class="btn btn-success btn-sm">当前模型信息</button>
  102. <button type="button" name="ss12" onClick="location='mychannel_main.php';" class="btn btn-success btn-sm">内容模型管理</button>
  103. </td>
  104. </tr>
  105. </table>
  106. </td>
  107. </tr>
  108. <tr>
  109. <td colspan="2" bgcolor="#FFFFFF">
  110. <div class="alert alert-danger" role="alert">
  111. 所有填写的内容不允许包含双引号[<strong>&quot;</strong>],否则配置将无法写入。
  112. </div>
  113. </td>
  114. </tr>
  115. <tr>
  116. <td bgcolor="#FFFFFF"><strong>表单提示文字:</strong><br>
  117. <span class="STYLE2">发布内容时显示的提示文字</span></td>
  118. <td bgcolor="#FFFFFF">
  119. <input name="itemname" type="text" id="itemname" class="pubinputs" />
  120. *</td>
  121. </tr>
  122. <tr>
  123. <td width="28%" bgcolor="#FFFFFF"><strong>字段名称:</strong><br>
  124. <span class="STYLE2">
  125. 只能用英文字母或数字,数据表的真实字段名,如果数据类型是联动类型,该项应该填写联动类型的<a href='stepselect_main.php' target='_blank'><u>[组名称]</u></a>。
  126. </span>
  127. </td>
  128. <td width="72%" bgcolor="#FFFFFF">
  129. <input name="fieldname" type="text" id="fieldname" class="pubinputs" />
  130. *
  131. </td>
  132. </tr>
  133. <tr>
  134. <td bgcolor="#FFFFFF"><strong>字段类型:</strong></td>
  135. <td bgcolor="#FFFFFF">
  136. <label><input name="autofield" type="radio" value="1" class="np" checked="checked" />
  137. 系统自动生成表单字段</label>
  138. <label><input type="radio" name="autofield" class="np" value="0" />
  139. 已经固化在发布表单中字段</label>
  140. </td>
  141. </tr>
  142. <tr>
  143. <td bgcolor="#FFFFFF">
  144. <strong>前台参数:</strong>
  145. </td>
  146. <td bgcolor="#FFFFFF">
  147. <label><input name="islist" type="checkbox" class="np" id="islist" value="1" />
  148. 使字段可以在列表的底层模板中获得(自定义字段默认仅能在文档模板显示,启用此选项将使列表查询变慢,如无必要请不要选择)</label><br />
  149. <label><input name="notsend" type="checkbox" class="np" id="notsend" value="1" />
  150. 前台投稿及采集规则禁用本字段</label>
  151. </td>
  152. </tr>
  153. <tr>
  154. <td bgcolor="#FFFFFF">
  155. <strong>内容是否需要分页符:</strong><br/>
  156. <span class="STYLE2">如果内容需要分页符,不论何种内容,都可以用#P#副标题#e#作为分页符号实现内容分页,但一个模型里仅允许一个这样的字段!</span>
  157. </td>
  158. <td bgcolor="#FFFFFF">
  159. <input name="isnull" type="hidden" value="1" />
  160. <label><input name="spage" type="radio" value="split" class='np' />
  161. 是</label>
  162. &nbsp;
  163. <label><input name="spage" type="radio" value="no" class='np' checked='1' />
  164. 否</label>
  165. </td>
  166. </tr>
  167. <tr>
  168. <td bgcolor="#FFFFFF">
  169. <strong>数据类型:</strong>
  170. </td>
  171. <td bgcolor="#FFFFFF" id="dataType">
  172. <div class='nw'><label><input type='radio' class='np' name='dtype' id='dtype1' value="text" checked='1'> 单行文本(varchar) </label></div>
  173. <div class='nw'><label><input type='radio' class='np' name='dtype' id='dtype2' value="textchar"> 单行文本(char) </label></div>
  174. <div class='nw'><label><input type='radio' class='np' name='dtype' id='dtype3' value="multitext"> 多行文本 </label></div>
  175. <div class='nw'><label><input type='radio' class='np' name='dtype' id='dtype4' value="htmltext"> HTML文本 </label></div>
  176. <br class='cls' />
  177. <div class='nw'><label><input type='radio' class='np' name='dtype' id='dtype5' value="textdata"> 文本保存HTML数据 </label></div>
  178. <div class='nw'><label><input type='radio' class='np' name='dtype' id='dtype6' value="int"> 整数类型 </label></div>
  179. <div class='nw'><label><input type='radio' class='np' name='dtype' id='dtype7' value="float"> 小数类型 </label></div>
  180. <div class='nw'><label><input type='radio' class='np' name='dtype' id='dtype8' value="datetime"> 时间类型 </label></div>
  181. <br class='cls' />
  182. <div class='nw'><label><input type='radio' class='np' name='dtype' id='dtype9' value="img"> 图片 </label></div>
  183. <div class='nw'><label><input type='radio' class='np' name='dtype' id='dtype10' value="imgfile"> 图片(仅网址) </label></div>
  184. <div class='nw'><label><input type='radio' class='np' name='dtype' id='dtype11' value="media"> 多媒体文件 </label></div>
  185. <div class='nw'><label><input type='radio' class='np' name='dtype' id='dtype12' value="addon"> 附件类型 </label></div>
  186. <br class='cls' />
  187. <div class='nw'><label><input type='radio' class='np' name='dtype' id='dtype13' value="select"> 使用option下拉框 </label></div>
  188. <div class='nw'><label><input type='radio' class='np' name='dtype' id='dtype14' value="radio"> 使用radio选项卡 </label></div>
  189. <div class='nw'><label><input type='radio' class='np' name='dtype' id='dtype15' value="checkbox"> Checkbox多选框 </label></div>
  190. <div class='nw'><label><input type='radio' class='np' name='dtype' id='dtype16' value="stepselect"> 联动类型 </label></div>
  191. <br class='cls' />
  192. <div class='nw'><label><input type='radio' class='np' name='dtype' id='dtype16' value="relation"> 关联内容 </label></div>
  193. </td>
  194. </tr>
  195. <tr id="_relation" style="display: none;">
  196. <td bgcolor="#FFFFFF"><strong>内容模型:</strong><br>
  197. <span class="STYLE2">
  198. 选择关联内容对应的内容模型
  199. </span>
  200. </td>
  201. <td bgcolor="#FFFFFF">
  202. <select name="channeltype" id="channeltype" style="width:200px">
  203. <?php
  204. $channelid = 1;
  205. foreach($channelArray as $k=>$arr)
  206. {
  207. if($k==$channelid) {
  208. $nid = $arr['nid'];
  209. echo " <option value='{$k}' selected>{$arr['typename']}|{$arr['nid']}</option>\r\n";
  210. }
  211. else
  212. {
  213. echo " <option value='{$k}'>{$arr['typename']}|{$arr['nid']}</option>\r\n";
  214. }
  215. }
  216. ?>
  217. </select>
  218. <label><input name="relation_automake" type="checkbox" class="np" id="relation_automake" value="1">
  219. 发布时候自动更新关联内容HTML</label>
  220. </td>
  221. </tr>
  222. <tr>
  223. <td bgcolor="#FFFFFF"><strong>默认值:</strong><br>
  224. <span class="STYLE2">
  225. 如果定义数据类型为select、radio、checkbox时,此处填写被选择的项目(用“,”分开,如“男,女,人妖”)。
  226. </span>
  227. </td>
  228. <td bgcolor="#FFFFFF">
  229. <textarea name="vdefault" type="text" id="vdefault" style="width:70%;height:60px"></textarea>
  230. </td>
  231. </tr>
  232. <tr>
  233. <td bgcolor="#FFFFFF"><strong>最大长度:</strong><br>
  234. <span class="STYLE2">
  235. 文本数据必须填写,大于255为text类型
  236. </span>
  237. </td>
  238. <td bgcolor="#FFFFFF">
  239. <input name="maxlength" type="text" id="maxlength" class="pubinputs" value="250" style="width:80px;" />
  240. </td>
  241. </tr>
  242. <tr>
  243. <td bgcolor="#FFFFFF"><strong>自定义表单HTML:</strong></td>
  244. <td bgcolor="#FFFFFF">
  245. ◆自定义表单HTML模板中用~name~表示提示文字,~form~表示表单元素。
  246. </td>
  247. </tr>
  248. <tr>
  249. <td align="center" bgcolor="#FFFFFF"></td>
  250. <td bgcolor="#FFFFFF">
  251. <textarea name="vinnertext" cols="45" rows="5" id="vinnertext" style="width:70%; height:120px;"></textarea>
  252. </td>
  253. </tr>
  254. <tr>
  255. <td height="28" colspan="2" bgcolor="#F9FCEF">
  256. <table width="100%" border="0" cellspacing="0" cellpadding="0" class="table table-borderless">
  257. <tr>
  258. <td width="26%" height="45">&nbsp;</td>
  259. <td width="10%">
  260. <button type="submit" name="button1" id="button1" class="btn btn-success">确定</button>
  261. </td>
  262. <td>
  263. <button type="reset" name="button2" id="button2" class="btn btn-success">重置</button>
  264. </td>
  265. </tr>
  266. </table>
  267. </td>
  268. </tr>
  269. </table>
  270. </form>
  271. </body>
  272. </html>