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

202 lines
9.2KB

  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 src="../static/web/js/bootstrap.min.js"></script>
  12. <script src="js/main.js"></script>
  13. <style>.nw{float:left;width:160px}.cls{clear:both}</style>
  14. </head>
  15. <body>
  16. <form name="form1" action="mychannel_field_add.php" method="post" onSubmit="return GetFields();">
  17. <input type="hidden" name="action" value="save">
  18. <input type="hidden" name="id" value="<?php echo $id?>">
  19. <input type="hidden" name="fieldstring" value="">
  20. <table align="center" class="table maintable my-3">
  21. <tr>
  22. <td bgcolor="#f5f5f5" colspan="2">文档模型管理</a> &gt; 添加文档模型字段</td>
  23. </tr>
  24. <tr>
  25. <td colspan="2">
  26. <div class="alert alert-danger mb-0">所有填写的文档不允许包含双引号["],否则配置无法写入</div>
  27. </td>
  28. </tr>
  29. <tr>
  30. <td width="260">提示文字:</td>
  31. <td>
  32. <input type="text" name="itemname" id="itemname" class="admin-input-sm">
  33. <span>(发布文档时显示的提示文字)</span>
  34. </td>
  35. </tr>
  36. <tr>
  37. <td>字段名称:</td>
  38. <td>
  39. <input type="text" name="fieldname" id="fieldname" class="admin-input-sm">
  40. <span>(只能用英文字母或数字,数据表的真实字段名,如果数据类型是联动类型,该项应该填写联动类型的组名称)</span>
  41. </td>
  42. </tr>
  43. <tr>
  44. <td>字段类型:</td>
  45. <td>
  46. <label><input type="radio" name="autofield" value="1" checked="checked"> 系统自动生成表单字段</label>
  47. <label><input type="radio" name="autofield" value="0"> 已经固化在发布表单中字段</label>
  48. </td>
  49. </tr>
  50. <tr>
  51. <td>前台参数:</td>
  52. <td>
  53. <label><input type="checkbox" name="islist" id="islist" value="1"> 使字段可以在列表的底层模板中获得(自定义字段默认仅能在文档模板显示,启用此选项使列表查询变慢,如无必要请不要选择)</label><br>
  54. <label><input type="checkbox" name="notsend" id="notsend" value="1"> 前台投稿及采集规则禁用本字段</label>
  55. </td>
  56. </tr>
  57. <tr>
  58. <td>文档是否需要分页符:</td>
  59. <td>
  60. <input type="hidden" name="isnull" value="1">
  61. <label><input type="radio" name="spage" value="split"> 是</label>
  62. <label><input type="radio" name="spage" value="no" checked="1"> 否</label>
  63. <span>(如果文档需要分页符,不论何种文档,都可以用#p#副标题#e#作为分页符号实现文档分页,但一个模型里仅允许一个这样的字段)</span>
  64. </td>
  65. </tr>
  66. <tr>
  67. <td>数据类型:</td>
  68. <td id="dataType">
  69. <div class="nw"><label><input type="radio" name="dtype" id="dtype1" value="text" checked="1"> 单行文本(varchar)</label></div>
  70. <div class="nw"><label><input type="radio" name="dtype" id="dtype2" value="textchar"> 单行文本(char)</label></div>
  71. <div class="nw"><label><input type="radio" name="dtype" id="dtype3" value="multitext"> 多行文本</label></div>
  72. <div class="nw"><label><input type="radio" name="dtype" id="dtype4" value="htmltext"> 网页文本</label></div>
  73. <br class="cls">
  74. <div class="nw"><label><input type="radio" name="dtype" id="dtype5" value="textdata"> 文本保存网页数据</label></div>
  75. <div class="nw"><label><input type="radio" name="dtype" id="dtype6" value="int"> 整数类型</label></div>
  76. <div class="nw"><label><input type="radio" name="dtype" id="dtype7" value="float"> 小数类型</label></div>
  77. <div class="nw"><label><input type="radio" name="dtype" id="dtype8" value="datetime"> 时间类型</label></div>
  78. <br class="cls">
  79. <div class="nw"><label><input type="radio" name="dtype" id="dtype9" value="img"> 图片类型</label></div>
  80. <div class="nw"><label><input type="radio" name="dtype" id="dtype10" value="media"> 多媒体文件</label></div>
  81. <div class="nw"><label><input type="radio" name="dtype" id="dtype11" value="addon"> 附件类型</label></div>
  82. <div class="nw"><label><input type="radio" name="dtype" id="dtype12" value="relation"> 关联文档</label></div>
  83. <br class="cls">
  84. <div class="nw"><label><input type="radio" name="dtype" id="dtype13" value="select"> option下拉框</label></div>
  85. <div class="nw"><label><input type="radio" name="dtype" id="dtype14" value="radio"> radio选项卡</label></div>
  86. <div class="nw"><label><input type="radio" name="dtype" id="dtype15" value="checkbox"> checkbox多选框</label></div>
  87. <div class="nw"><label><input type="radio" name="dtype" id="dtype16" value="stepselect"> 联动类型</label></div>
  88. </td>
  89. </tr>
  90. <tr id="_relation" style="display:none">
  91. <td>文档模型:</td>
  92. <td>
  93. <select name="channeltype" id="channeltype" class="admin-input-sm">
  94. <?php
  95. $channelid = 1;
  96. foreach($channelArray as $k=>$arr)
  97. {
  98. if ($k==$channelid) {
  99. $nid = $arr['nid'];
  100. echo "<option value='{$k}' selected>{$arr['typename']}|{$arr['nid']}</option>";
  101. } else {
  102. echo "<option value='{$k}'>{$arr['typename']}|{$arr['nid']}</option>";
  103. }
  104. }
  105. ?>
  106. </select>
  107. <label class="l-height-28"><input type="checkbox" name="relation_automake" id="relation_automake" value="1"> 发布时候自动更新关联网页文档</label>
  108. </td>
  109. </tr>
  110. <tr>
  111. <td>默认值:</td>
  112. <td>
  113. <p>(如果定义数据类型为select、radio、checkbox时,此处填写被选择的项目,英文逗号分开,如“DedeBIZ,得德”)</p>
  114. <textarea name="vdefault" id="vdefault" class="admin-textarea-xl"></textarea>
  115. </td>
  116. </tr>
  117. <tr>
  118. <td>自定义网页表单:</td>
  119. <td>
  120. <p>(自定义网页表单用~name~表示提示文字,~form~表示表单元素)</p>
  121. <textarea name="vinnertext" id="vinnertext" class="admin-textarea-xl"></textarea>
  122. </td>
  123. </tr>
  124. <tr>
  125. <td>最大长度:</td>
  126. <td>
  127. <input type="text" name="maxlength" id="maxlength" class="admin-input-xs" value="255">
  128. <span>(文本数据必须填写,大于255为text类型)</span>
  129. </td>
  130. </tr>
  131. <tr>
  132. <td bgcolor="#f5f5f5" colspan="2" align="center">
  133. <button type="submit" name="button1" id="button1" class="btn btn-success btn-sm">保存</button>
  134. <button type="reset" name="button2" id="button2" class="btn btn-outline-success btn-sm">重置</button>
  135. </td>
  136. </tr>
  137. </table>
  138. </form>
  139. <script>
  140. var notAllow = "<?php echo $f;?>";
  141. function GetFields()
  142. {
  143. var theform = document.form1;
  144. var fieldname = theform.fieldname.value;
  145. var itemname = theform.itemname.value;
  146. var dtype = 'text';
  147. var enums = document.getElementsByName('dtype');
  148. for (i=0;i<enums.length;i++)
  149. {
  150. if (enums[i].checked) dtype = enums[i].value;
  151. }
  152. var isnull = theform.isnull.value;
  153. var vdefault = theform.vdefault.value;
  154. var maxlength = theform.maxlength.value;
  155. var vinnertext = theform.vinnertext.value;
  156. var spage = (theform.spage[0].checked ? theform.spage[0].value : theform.spage[1].value);
  157. var sisnull = (isnull==0 ? "false" : "true");
  158. var autofield = (theform.autofield[0].checked ? theform.autofield[0].value : theform.autofield[1].value);
  159. var islist = (theform.islist.checked ? 1 : 0);
  160. var notsend = (theform.notsend.checked ? 1 : 0);
  161. var automake = theform.relation_automake.checked ? 1 : 0;
  162. if (itemname=="") {
  163. ShowMsg("表单提示名称不能为空");
  164. theform.itemname.focus();
  165. return false;
  166. }
  167. if (fieldname=="") {
  168. ShowMsg("字段名称不能为空");
  169. theform.fieldname.focus();
  170. return false;
  171. }
  172. if (notAllow.indexOf(" "+fieldname+" ") >-1 ) {
  173. ShowMsg("字段名称不合法,如下字段名已经存在,建议在名称后加上数字以区分:\n"+notAllow);
  174. return false;
  175. }
  176. if ((dtype=="radio" || dtype=="select" || dtype=="checkbox") && vdefault=="") {
  177. ShowMsg("您选择的select或radio、checkbox类型,必须默认值设置选择的项目(用英文逗号分开)");
  178. return false;
  179. }
  180. if (spage=="no") spage = "";
  181. relstr = "";
  182. if (dtype==="relation") {
  183. relstr = " automake=\""+automake+"\" channel=\""+$("#channeltype").val()+"\"";
  184. }
  185. revalue = "<field:"+fieldname+" itemname=\""+itemname+"\" autofield=\""+autofield+"\" notsend=\""+notsend+"\" type=\""+dtype+"\"";
  186. revalue += relstr + " isnull=\""+sisnull+"\" islist=\""+islist+"\" default=\""+vdefault+"\" ";
  187. revalue += " maxlength=\""+maxlength+"\" page=\""+spage+"\">"+vinnertext+"</field:"+fieldname+">";
  188. document.form1.fieldstring.value = revalue;
  189. return true;
  190. }
  191. $(document).ready(function () {
  192. $("#dataType input").click(function(ele){
  193. if ($(ele.currentTarget).val() === "relation") {
  194. $("#_relation").show();
  195. } else {
  196. $("#_relation").hide();
  197. }
  198. })
  199. });
  200. </script>
  201. </body>
  202. </html>