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

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