批量導入關鍵詞操作教程
1、準備好要導入的關鍵詞文件,txt文檔,格式如下
注意:無論你的程序是gbk還是utf8編碼,txt文檔務必要用utf8無BOM格式。

2、打開 \dede\article_keywords_main.php 找到
if(empty($keyword))
在它的上面加入
3、打開 \dede\templets\article_keywords_main.htm 找到
</script>
在它的上面加入
<form name='form1' action="article_keywords_main.php">
在它的上面加入
<input type='checkbox' name='isdel_{dede:field.aid/}' class='np' value='1' />
改成
<input type='checkbox' name='isdel_{dede:field.aid/}' class='np del' value='1' />
繼續找到
1、準備好要導入的關鍵詞文件,txt文檔,格式如下
注意:無論你的程序是gbk還是utf8編碼,txt文檔務必要用utf8無BOM格式。

2、打開 \dede\article_keywords_main.php 找到
if(empty($keyword))
在它的上面加入
//文件導入式 批量添加關鍵詞 elseif($dopost == 'fileKeywords') { if(is_uploaded_file($filename)) { $newFileName = date('YmdHis', time() ) .'.txt'; $newDirPath = $cfg_basedir . '/uploads/keywords'; $newFilePath = $newDirPath .'/'.$newFileName; //目錄不存在則創建 if(!file_exists( $newDirPath )) { mkdir($newDirPath, 0777, true); } move_uploaded_file($filename, $newFilePath); //讀取上傳的文件 $handle = fopen($newFilePath, 'r') or ShowMsg("上傳文件讀取失敗",-1); $keyArr = array(); if($handle) { while(!feof($handle)) { $buffer = fgets($handle, 4096); $buffer = str_replace(',', ',', $buffer); $buffer = str_replace(array("\n"), '', $buffer); $buffer = trim($buffer); if(!empty($buffer)) { $keyArr[] = explode(',', $buffer); } } fclose($handle); @unlink( $newFilePath ); } //取出數據庫所有的關鍵詞,和新添加關鍵詞比較,如果新添加的關鍵字,數據中存在則過濾 $dsql->SetQuery( "SELECT `keyword` FROM `dede_keywords` " );//將SQL查詢語句格式化 $dsql->Execute();//執行SQL操作 //通過循環輸出執行查詢中的結果 $dataKeyArr = array(); while($row = $dsql->GetArray() ) { $dataKeyArr[] = $row['keyword']; } //拼接mysql 語句 $i = 0; foreach($keyArr as $k => $v) { $key = trim( $v[0] ); //把讀取txt文檔的數據轉utf-8編碼 www.dede58.com $key = ($cfg_soft_lang != 'utf-8') ? iconv( "UTF-8", "gb2312//IGNORE" , $key) : $key; //如果數據庫中存在該關鍵詞,則跳出本次循環。 注意: keyword字段在數據庫中長度16字符,需要更更長點 //ALTER TABLE `dede_keywords` CHANGE `keyword` `keyword` CHAR( 255 ) NOT NULL DEFAULT '' if( in_array( $key, $dataKeyArr ) ) continue; //拼接mysql語句 $rpurl = trim($v[1], ' '); $rank = trim($v[2], ' '); $sql = "INSERT INTO `dede_keywords` ( keyword, rank, sta, rpurl ) VALUES ( '{$key}', {$rank}, 1, '{$rpurl}')"; $res = $dsql->ExecuteNoneQuery2($sql); if( $res != -1) $i ++; } //如果導入的文件所有的關鍵詞都添加過了,則停止執行; if(empty($i)) { ShowMsg("警告:你提交的關鍵詞,早已經添加過了!!!",-1); die(); } else { ShowMsg("你成功導入{$i}條數據",-1); } } } //清空關鍵字表里的所有數據 else if($dopost == 'delAll') { $dsql->ExecuteNoneQuery('TRUNCATE TABLE `dede_keywords`') ? ShowMsg("你已成功清除所有的關鍵詞??!", $ENV_GOBACK_URL ) : ShowMsg("清除關鍵詞失敗",-1) ; }
3、打開 \dede\templets\article_keywords_main.htm 找到
</script>
在它的上面加入
//刪除選中的 function delSel() { var celements = document.getElementsByClassName('del'); for( i = 0; i < celements.length; i++ ) { if(!celements[i].checked) celements[i].checked = true; else celements[i].checked = false; } } function delAll () { if( confirm( '你確定要清空所有的關鍵詞,清除以后不可恢復?。?#39; ) ) { location.href="article_keywords_main.php?dopost=delAll"; } }繼續找到
<form name='form1' action="article_keywords_main.php">
在它的上面加入
<form action="article_keywords_main.php" method="post" enctype="multipart/form-data"> <td width="40%" style="padding-left:10px;"> <strong>關鍵詞維護</strong> <strong> </strong> <strong><input type="file" name="filename"></strong> <input type="hidden" name="dopost" value="fileKeywords" /> <strong><input type="submit" value="提交"></strong> </td> </form>繼續找到
<input type='checkbox' name='isdel_{dede:field.aid/}' class='np' value='1' />
改成
<input type='checkbox' name='isdel_{dede:field.aid/}' class='np del' value='1' />
繼續找到
<td height="28" colspan="6"> <input type="button" name="dl1" class="coolbg np" value="反選" onClick="selAll()" /> <input type="button" name="dl2" class="coolbg np" value="保存更改" onClick="this.form.submit();" /> </td>改成
<td height="28" colspan="4"> <input type="button" name="dl1" class="coolbg np" value="反選" onClick="selAll()" /> <input type="button" name="dl2" class="coolbg np" value="保存更改" onClick="this.form.submit();" /> </td> <td height="28" align="center" > <input type="button" value="清空所有關鍵詞" onClick="delAll()" /> <input type="button" name="dl1" class="coolbg np" value="刪除全選" onClick="delSel()" /> </td>完成。