不久以前,小編在織夢論壇發表了《DEDE發布文章添加了來源網址功能》一帖,在發表本帖的同時,小編也確實感覺到了其實這是一個雞肋功能,因為中文站長的一大特點就是喜歡轉載而不附帶他人的鏈接,果然,此帖的響應者寥寥無幾。
就在前天,又有一個網友看到了此帖,并通過QQ的形式找到了小編,希望能將這篇教程發布出來,他非常希望可以實現這個功能,那么現在小編就來滿足這位朋友的需求,好了我們來看一下如何實現本功能。
原理分析:
添加來源網址功能,說白了就是在后臺和前臺發表文章的表單內增加一個選項,首先我們要做的是在數據庫增加一個字段,然后在dedecms后臺與前臺文件分別添加相關代碼。下面,我們就以后臺(前臺添加的方法,請照葫蘆畫瓢,不再贅述)添加來源網址的功能為例,講述一下如何實現本功能。
實現步驟:
1.操作數據庫
在數據庫添加一個字段,這個字段需要添加到dedecms的dede_archives 表中,你可以通過phpmyadmin工具的可視化工具來操作,也可以在后臺-系統-SQL命令行工具來執行SQL語句,語句如下:
ALTER TABLE `dede_archives` ADD `source_url` char(255) NOT NULL DEFAULT '0';
在上面的語句中,我們可以了解到紅色的為表名,藍色的為字段(這是織夢58給來源網址定義的字段名,如果你想用其它字段名稱,請在下面的教程中同步修改),綠色的255表示字段最大的長度是255個字符。注意:如果你在安裝dedecms時修改了表前綴,請修改紅色部分的表名稱。
相關文章:MySql在已知數據表添加新字段的語句
完成這一步后,進入第2步。
2.修改后臺文件
我們需要修改的文件共有四個(這里是以文章模型為例,如果你想在其它模型中增加來源網址,請修改相應的模板與文件),分別是后臺目錄(默認是dede,如果你修改了后臺地址,請找到相應路徑)下的:article_add.php、article_edit.php與后臺templets下的article_add.htm、article_edit.htm
首先打開article_add.php文件,查找://對保存的內容進行處理
在 if(empty($writer))$writer=$cuserLogin->getUserName(); 的下面添加代碼:
if(empty($source_url))$source_url='www.dede58.com'; //如果為空則是www.dede58.com
這一步的目的在上面的注釋中已經說明了,不再重復。相關修改見圖一:
給Dedecms前臺/后臺添加來源網址功能【圖一】
圖一
繼續操作,查找代碼:
$source = cn_substrR($source,30);
在下面添加:
$source_url = cn_substrR($source_url,255);
再查找://保存到主表
找到source,按格式插入:source_url
找到$source,按格式插入:$source_url
以上操作目的是寫入數據庫。修改情況見圖二:
給Dedecms前臺/后臺添加來源網址功能【圖二】
圖二
恭喜你,完成了四個文件之一的修改。下面我們來進行article_edit.php的修改。
首先,查找://對保存的內容進行處理 在下面添加
if(empty($source_url))$source_url='www.dede58.com';//如果為空則是www.dede58.com
可以參照圖一來操作。
繼續查找:
$source = cn_substrR($source,30);
在下面添加:
$source_url = cn_substrR($source_url,255);
再查找(約193行):
source='$source',
在下面添加:
source_url='$source_url',
OK.現在已經完成兩個文件的操作了,夠長了,分個頁,請點擊下一頁。