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

342 lines
15KB

  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. <script language="javascript" type="text/javascript" src="js/co.js"></script>
  6. <title>新增采集节点</title>
  7. <link href="css/base.css" rel="stylesheet" type="text/css">
  8. <style type="text/css">
  9. <!--
  10. .STYLE1 {
  11. color: #660000;
  12. font-weight: bold;
  13. }
  14. .adline {
  15. border-bottom:1px solid #cdcdcd;
  16. }
  17. .autotb td{
  18. padding-left:3px;
  19. }
  20. -->
  21. </style>
  22. </head>
  23. <body>
  24. <div class="bodytitle" style="width:98%">
  25. <div class="bodytitleleft"></div>
  26. <div class="bodytitletxt" style="padding-left:10px;"><b>新增采集节点:第二步设置内容字段获取规则</b></div>
  27. </div>
  28. <form name="form1" method="post" action="co_add.php">
  29. <input type='hidden' name='nid' value='<?php echo $nid; ?>' />
  30. <input type='hidden' name='channelid' value='<?php echo $channelid; ?>' />
  31. <input type='hidden' name='step' value='5' />
  32. <table width="98%" border="0" cellpadding="3" cellspacing="1" bgcolor="#D6D6D6" align="center">
  33. <tr>
  34. <td background="images/tbg.gif" bgcolor="#F2F6E5">
  35. <table width="400" border="0" cellspacing="0" cellpadding="0">
  36. <tr class="top" onClick="showHide('sart');" style="cursor:pointer">
  37. <td width="26" align="center"><img src="images/file_tt.gif" width="7" height="8"></td>
  38. <td width="374"><b>网页内容获取规则</b></td>
  39. </tr>
  40. </table>
  41. </td>
  42. </tr>
  43. <tr id="sart">
  44. <td height="113" valign="top" bgcolor="#FFFFFF">
  45. <table width="100%" border="0" cellspacing="0" cellpadding="0">
  46. <tr id='achelp' style="display:none">
  47. <td height="60" colspan="3">1、匹配规则:在匹配区域规则中,规则一般为“<font color="#FF0000">起始无重复HTML</font><span class="STYLE1">[内容]</span><font color="#FF0000">结尾无重复HTML</font>”(普通匹配,非正则)。<br/>
  48. 2、字段值:如果指定的字段没有指定区域匹配规则,用这个值作为默认值。<br />
  49. 3、过滤规则:如果有多个规则,用<br /><font color='#6B7360'>
  50. {dede:trim replace=&quot;&quot;}规则一{/dede:trim}<br />
  51. {dede:trim replace=&quot;&quot;}规则二{/dede:trim}<br />
  52. ...</font>表示,如果要替换成指定的值,在 replace=&quot;&quot;里设置即可
  53. </td>
  54. </tr>
  55. <tr>
  56. <td height="35">预览网址:</td>
  57. <td><input type="text" name="previewurl" id="previewurl" style="width:90%" value="<?php echo $previewurl; ?>" /></td>
  58. <td>&nbsp;</td>
  59. </tr>
  60. <tr>
  61. <td width="18%" height="60"><a href="#" onclick="showHide('achelp')"><img src="images/help.gif" width="16" height="16" /></a>内容分页导航所在的区域匹配规则:<br/></td>
  62. <td><textarea name="sppage" rows="3" id="sppage" style="width:90%"></textarea></td>
  63. <td width="37%">
  64. <input name="sptype" type="radio" value="full" class="np" checked='1' />
  65. 全部列出的分页列表<br/>
  66. <input type="radio" name="sptype" class="np" value="next" />
  67. 上下页形式或不完整的分页列表
  68. <br />
  69. <input type="radio" name="sptype" class="np" value="diyrule"/>
  70. 分页列表规则 开始:
  71. <input name="srul" type="text" value="1" size="4" />
  72. 结束:
  73. <input name="erul" type="text" value="5" size="4" />
  74. </td>
  75. </tr>
  76. <tr>
  77. <td height="35" colspan="3" bgcolor="#FBFCE2" id="dyrule">如果设定分页列表规则.可采用地址规则(正则),其中{p}是递增变量,从1开始每次增加1,例如:{path}{file}_{p}{ext}<br />
  78. <strong>规则说明:{path}</strong>地址+目录 <strong>{file}</strong>文件 <strong>{ext}</strong>文件扩展名<strong>{p}</strong>分页列表数</td>
  79. </tr>
  80. <tr>
  81. <td height="24" colspan="3" bgcolor="#F9FCEF">
  82. &nbsp;<strong>以下为固定的采集项目:</strong>(项目点击可展开/隐藏,内容摘要、关键字、缩略图系统会用正则进行自动匹配)
  83. </td>
  84. </tr>
  85. </table>
  86. <table width="100%" border="0" cellspacing="0" cellpadding="2">
  87. <tr>
  88. <td width="50%" valign="top">
  89. <table width="98%" border="0" cellspacing="0" cellpadding="0">
  90. <tr>
  91. <td height="24">
  92. <table width="100%" border="0" cellspacing="0" cellpadding="0">
  93. <tr>
  94. <td width="18%" height="80">关键字过滤内容:</td>
  95. <td height="20" colspan="2">
  96. <textarea name="keywordtrim" rows="4" id="keywordtrim" style="width:90%"></textarea>
  97. </td>
  98. </tr>
  99. </table></td>
  100. </tr>
  101. </table>
  102. </td>
  103. <td valign="top">
  104. <table width="98%" border="0" cellspacing="0" cellpadding="0">
  105. <tr>
  106. <td height="24">
  107. <table width="100%" border="0" cellspacing="0" cellpadding="0">
  108. <tr>
  109. <td width="18%" height="80">摘要过滤内容:</td>
  110. <td height="20" colspan="2">
  111. <textarea name="descriptiontrim" rows="4" id="descriptiontrim" style="width:90%"></textarea>
  112. </td>
  113. </tr>
  114. </table></td>
  115. </tr>
  116. </table>
  117. </td>
  118. </tr>
  119. <tr>
  120. <td width="50%" valign="top">
  121. <table width="98%" border="0" cellspacing="0" cellpadding="0">
  122. <tr bgcolor="#F9FCEF">
  123. <td height="24" class="adline">&nbsp;<a href="#" onclick="showHide('ttitle')"><b><u>文章标题</u></b></a></td>
  124. </tr>
  125. <tr>
  126. <td height="24" id="ttitle">
  127. <input type='checkbox' name='fields[]' checked='1' value='title' style='display:none' />
  128. <table width="100%" border="0" cellspacing="0" cellpadding="0">
  129. <tr>
  130. <td width="18%" height="80">匹配规则:</td>
  131. <td height="20" colspan="2">
  132. <textarea name="match_title" rows="4" id="match_title" style="width:90%"><title>[内容]</title></textarea>
  133. </td>
  134. </tr>
  135. <tr>
  136. <td height="63">过滤规则:</td>
  137. <td width="53%" height="63"><textarea name="trim_title" cols="20" rows="3" id="trim_title" style="width:90%"></textarea> </td>
  138. <td height="63"><input type="button" name="button" id="button" value="常用规则" onclick="selTrim('trim_title')" /> </td>
  139. </tr>
  140. </table></td>
  141. </tr>
  142. </table>
  143. </td>
  144. <td valign="top">
  145. <table width="98%" border="0" cellspacing="0" cellpadding="0">
  146. <tr bgcolor="#F9FCEF">
  147. <td height="24" class="adline">&nbsp;<a href="#" onclick="showHide('twriter')"><b><u>文章作者</u></b></a> </td>
  148. </tr>
  149. <tr id="twriter">
  150. <td height="24">
  151. <input type='checkbox' name='fields[]' checked='1' value='writer' style='display:none' />
  152. <table width="100%" border="0" cellspacing="0" cellpadding="0">
  153. <tr>
  154. <td width="18%" height="80">匹配规则:</td>
  155. <td height="20" colspan="2"><textarea name="match_writer" rows="4" id="match_writer" style="width:90%"></textarea>
  156. </td>
  157. </tr>
  158. <tr>
  159. <td height="63">过滤规则:</td>
  160. <td width="53%" height="63"><textarea name="trim_writer" cols="20" rows="3" id="trim_writer" style="width:90%"></textarea>
  161. </td>
  162. <td width="29%" height="63"><input type="button" name="button2" id="button2" value="常用规则" onclick="selTrim('trim_writer')" />
  163. </td>
  164. </tr>
  165. </table></td>
  166. </tr>
  167. </table>
  168. </td>
  169. </tr>
  170. <tr>
  171. <td valign="top">
  172. <table width="98%" border="0" cellspacing="0" cellpadding="0">
  173. <tr bgcolor="#EBEFD1">
  174. <td height="24" bgcolor="#F0F7D9" class="adline">&nbsp;<a href="#" onclick="showHide('tsource')"><b><u>文章来源</u></b></a> </td>
  175. </tr>
  176. <tr id="tsource">
  177. <td height="24">
  178. <input type='checkbox' name='fields[]' checked='1' value='source' style='display:none' />
  179. <table width="100%" border="0" cellspacing="0" cellpadding="0">
  180. <tr>
  181. <td width="18%" height="80">匹配规则:</td>
  182. <td height="20" colspan="2"><textarea name="match_source" rows="4" id="match_source" style="width:90%"></textarea>
  183. </td>
  184. </tr>
  185. <tr>
  186. <td height="63">过滤规则:</td>
  187. <td width="53%" height="63"><textarea name="trim_source" cols="20" rows="3" id="trim_source" style="width:90%"></textarea>
  188. </td>
  189. <td height="63"><input type="button" name="button4" id="button4" value="常用规则" onclick="selTrim('trim_source')" />
  190. </td>
  191. </tr>
  192. </table>
  193. </td>
  194. </tr>
  195. </table>
  196. </td>
  197. <td valign="top">
  198. <table width="98%" border="0" cellspacing="0" cellpadding="0">
  199. <tr bgcolor="#F9FCEF">
  200. <td height="24" class="adline">&nbsp;<a href="#" onclick="showHide('tpubdate')"><b><u>发布时间</u></b></a> </td>
  201. </tr>
  202. <tr id="tpubdate">
  203. <td height="24">
  204. <input type='checkbox' name='fields[]' checked='1' value='pubdate' style='display:none' />
  205. <table width="100%" border="0" cellspacing="0" cellpadding="0">
  206. <tr>
  207. <td width="18%" height="80">匹配规则:</td>
  208. <td height="20" colspan="2"><textarea name="match_pubdate" rows="4" id="match_pubdate" style="width:90%"></textarea>
  209. </td>
  210. </tr>
  211. <tr>
  212. <td height="63">过滤规则:</td>
  213. <td width="53%" height="63"><textarea name="trim_pubdate" cols="20" rows="3" id="trim_pubdate" style="width:90%"></textarea>
  214. </td>
  215. <td width="29%" height="63"><input type="button" name="button3" id="button3" value="常用规则" onclick="selTrim('trim_pubdate')" />
  216. </td>
  217. </tr>
  218. </table>
  219. <input name="function_pubdate" type="hidden" id="function_pubdate" value="@me=GetMkTime(@me);" />
  220. </td>
  221. </tr>
  222. </table>
  223. </td>
  224. </tr>
  225. </table>
  226. <!-- 固定项目结束,下面为自动项目 -->
  227. <table width="100%" border="0" cellspacing="0" cellpadding="0">
  228. <tr>
  229. <td width="55%" height="24" colspan="3" bgcolor="#FBFCE2">
  230. &nbsp;<strong>以下是针对模型设置的采集项目:</strong>
  231. </td>
  232. </tr>
  233. </table>
  234. <?php
  235. $row = $dsql->GetOne("Select * From `#@__channeltype` where id='$channelid' ");
  236. $dtp = new DedeTagParse();
  237. $dtp->SetNameSpace('field','<','>');
  238. $dtp->LoadString($row['fieldset']);
  239. foreach($dtp->CTags as $ctag)
  240. {
  241. //采集禁用的字段
  242. $notsend = $ctag->GetAtt('notsend');
  243. if($notsend==1) continue;
  244. $fieldtype = $ctag->GetAtt('type');
  245. $tname = $ctag->GetTagName();
  246. $iname = $ctag->GetAtt('itemname');
  247. //设置转换函数
  248. if($fieldtype=='img') $functions = "@me=TurnImageTag(@me);";
  249. else if($fieldtype=='softlinks'||$fieldtype=='addon') $functions = "@me=TurnLinkTag(@me);";
  250. else if($fieldtype=='dtime') $functions = "@me=GetMkTime(@me);";
  251. else $functions = '';
  252. //对不同类型设置默认值
  253. if($ctag->GetAtt('default')!='') {
  254. $dfvalue = $ctag->GetAtt('default');
  255. }
  256. else if($fieldtype=='int'||$fieldtype=='float'||$fieldtype=='number') {
  257. $dfvalue = '0';
  258. }
  259. else if($fieldtype=='dtime') {
  260. $dfvalue = time();
  261. }
  262. else {
  263. $dfvalue = '';
  264. }
  265. ?>
  266. <input type='checkbox' name='fields[]' checked='1' value='<?php echo $tname; ?>' style='display:none' />
  267. <table width="99%" border="0" cellspacing="0" cellpadding="0" class='autotb' style="margin-top:2px">
  268. <tr bgcolor="#F9FCEF">
  269. <td width="18%" height="24" class="adline">
  270. &nbsp;<a href="#" onclick="showHide('t<?php echo $tname; ?>')"><b><u><?php echo $iname; ?></u></b></a>
  271. </td>
  272. <td width="12%" class="adline">&nbsp;</td>
  273. <td width="10%" class="adline"><strong>字段默认值:</strong></td>
  274. <td class="adline">
  275. <input name="value_<?php echo $tname; ?>" type="text" id="value_<?php echo $tname; ?>" value="<?php echo $dfvalue; ?>" size="25" style="width:250px" />
  276. </td>
  277. </tr>
  278. <tr id="t<?php echo $tname; ?>">
  279. <td height="24" colspan="4">
  280. <table width="100%" border="0" cellspacing="0" cellpadding="0">
  281. <tr>
  282. <td width="16%" height="80">匹配规则:</td>
  283. <td height="20">
  284. <textarea name="match_<?php echo $tname; ?>" rows="4" id="match_<?php echo $tname; ?>" style="width:90%"></textarea>
  285. </td>
  286. <td height="20">
  287. <?php
  288. if($fieldtype=='htmltext' || $fieldtype=='img')
  289. {
  290. ?>
  291. <input name="isunit_<?php echo $tname; ?>" type="checkbox" id="isunit_<?php echo $tname; ?>" value="1" class="np" checked='checked' />
  292. 分页内容字段(规则中只允许单一的该类型字段)<br/>
  293. <input name="isdown_<?php echo $tname; ?>" type="checkbox" id="isdown_<?php echo $tname; ?>" value="1" class="np" checked='checked' />
  294. 下载字段里的多媒体资源
  295. <?php
  296. }
  297. ?>
  298. </td>
  299. </tr>
  300. <tr>
  301. <td height="63">过滤规则:</td>
  302. <td height="63">
  303. <textarea name="trim_<?php echo $tname; ?>" cols="20" rows="3" id="trim_<?php echo $tname; ?>" style="width:90%"></textarea>
  304. </td>
  305. <td height="63">
  306. <input type="button" name="button<?php echo $tname; ?>" id="button<?php echo $tname; ?>" value="常用规则" onclick="selTrim('trim_<?php echo $tname; ?>')" />
  307. </td>
  308. </tr>
  309. <tr>
  310. <td width="18%" height="60">自定义处理接口:</td>
  311. <td width="52%" height="20">
  312. <textarea name="function_<?php echo $tname; ?>" cols="20" rows="3" id="function_<?php echo $tname; ?>" style="width:90%"><?php
  313. echo $functions;
  314. ?></textarea>
  315. </td>
  316. <td width="30%" height="20">
  317. 函数或程序的变量<br />
  318. @body 表示原始网页 @litpic 缩略图<br />
  319. @me 表示当前标记值和最终结果
  320. </td>
  321. </tr>
  322. </table>
  323. </td>
  324. </tr>
  325. </table>
  326. <?php } ?>
  327. </td>
  328. </tr>
  329. <tr>
  330. <td height="52" align="center" bgcolor="#FFFFFF">
  331. <input type="submit" name="b12" value="保存配置并预览" class="coolbg" style="width:150px" />
  332. </td>
  333. </tr>
  334. </table>
  335. </form>
  336. </body>
  337. </html>