A. dede欄目在資料庫中添加了自定義欄位,請問如何調用
您好,您這樣:
以普通文章頻道中新建欄位為例:添加「問題答案」欄位名稱 "daan"點擊核心-頻道模型-內容模型管理-普通文章
點擊 欄位管理-添加新欄位
依次填寫:
(1)表單提示文字:問題答案
(2)欄位名稱:daan
(3)欄位類型:選擇 系統自動生成表單欄位
(4)數據類型:多行文本
(5)最大長度:1000
點擊確定
回到 欄位管理頁面 如圖所示
點擊 基本設置
找到 列表附加欄位,填入新建欄位 daan ,用英文逗號隔開
點擊 確定
新建客戶問答欄目-編輯問題、答案
問答列表調用代碼:
自定義欄位在欄目列表中掉用{dede:list pagesize='3'addfields='daan'}
<li >
<a href="[field:arcurl/]">[[field:title/]]</a>
<p> 答案:[field:daan function='cn_substr(@me,270)'/]... </p>
</li>
{/dede:list}自定義欄位在首頁調用:channelid是內容模型的ID號,文章的ID是 "1"{dede:arclist addfields='daan' row='3' channelid='1'}
<a href="[field:arcurl/]">[[field:title/]]</a>
<p> 答案:[field:daan function='cn_substr(@me,30)'/]... </p>
{/dede:arclist}
B. dede資料庫表結構和dedecms資料庫欄位說明
dede資料庫欄位說明:dede_addonarticle 附加文章表
aid int(11) 文章編號
typeid int(11) 分類欄目編號
body mediumtext 文章內容
dede_addonflash 附加Flash表
aid int(11) FLASH編號
typeid int(11) 分類欄目編號
filesize varchar(10) 文件大小
playtime varchar(10) 播放時長
flashtype varchar(10) 作品類型
flashrank smallint(6) 作品等級
width smallint(弊談衡6) 影片寬度
height smallint(6) 影片高度
flashurl varchar(80) FLASH地址
dede_addonimages 附加圖集表
aid int(11) 圖集編號
typeid int(11) 分類欄目編號
pagestyle smallint(6) 表現方式(1單頁顯示 2分多頁顯示 3多行多列展示)
maxwidth smallint(6) 大圖限制寬度
imgurls text 圖片集內容(標簽存放)
row smallint(6) 多列式參數(行)
col smallint(6) 多列式參數(列)
isrm smallint(6) 是否下載遠程圖片
ddmaxwidth smallint(6) 小圖片寬度限制
dede_addonsoft 附加軟體表
aid int(11) 軟體編號
typeid int(11) 分類欄目編號
filetype varchar(10) 文件類型
language varchar(10) 界面語言
softtype varchar(10) 軟體類型
accredit varchar(10) 授權方式
os varchar(30) 運行環境
softrank int(11) 軟體等級
officialUrl varchar(30) 官方網址
officialDemo varchar(50) 程序演示地址
softsize varchar(10) 軟體大小
softlinks text 軟體下載鏈接列表
introce text 軟體介紹
dede_addonspec 附加專題表
aid int(11) 專題編號
typeid int(11) 分類欄目編號
note text 專題內容(僅存放標簽代碼)
dede_admin管理員信息表
ID int(10) 自動編侍者號
usertype int(10) 用戶類型
userid varchar(30) 用戶登錄ID
pwd varchar(50) 用戶密碼
uname varchar(20) 用戶筆名
tname varchar(30) 真實姓名
email varchar(30) 電子郵箱
typeid int(11) 負責頻道(0表示全部)
logintime datetime 登錄時間
loginip varchar(20) 登錄IP
dede_admintype 系統用戶組管理表
rank smallint(6) 組級別編號
typename varchar(30) 組名稱
system smallint(6) 是否為系統默認組
purviews text 許可權列表
dede_arcatt文檔自定義屬性表
att smallint(6) 編號
attname varchar(30) 屬性名稱
dede_archives 文章表
ID int(11) 自動編號
typeid int(11) 所屬主欄目編號
typeid2 int(11) 所屬副欄目編號
sortrank int(11) 文章排序(置頂方法)
iscommend smallint(6) 是否推薦
ismake smallint(6) 是否生成靜態
channel int(11) 文章所屬模型
arcrank smallint(6) 閱讀許可權
click int(11) 點擊次數
money smallint(6) 消費點數租做
title varchar(80) 標題
shorttitle varchar(36) 簡略標題
color varchar(10) 標題顏色
writer varchar(30) 作者
source varchar(50) 來源
litpic varchar(100) 縮略圖
pubdate int(11) 錄入時間
senddate int(11) 發布時間
arcatt smallint(6) 自定屬性(att)
adminID int(11) 發布管理員ID
memberID int(11) 發布會員ID
description varchar(250) 摘要
keywords varchar(60) 關鍵詞
templet varchar(60) 文檔模板
lastpost int(11) 最近評論時間
postnum int(11) 評論數目
redirecturl varchar(150) 跳轉網址
mtype int(11) 用戶自定義分類
userip varchar(20) 用戶IP
locklikeid smallint(6) 是否鎖定相關文章
likeid varchar(240) 相關文章ID
dede_arcrank 閱讀許可權表
ID int(10) 自動編號
rank smallint(10) 許可權等級
membername varchar(20) 等級名稱
adminrank smallint(10) 管理等級
money int(11) 消費點數
dede_arctype 欄目管理表
ID int(10) 欄目編號(自動編號)
reID int(10) 父欄目編號
topID int(10)
sortrank smallint(6) 排序編號
typename varchar(30) 欄目名稱
typedir varchar(100) 欄目目錄
isdefault smallint(6) 欄目列表選項(1鏈接到默認頁 0鏈接到列表第一頁 -1使用動態頁)
defaultname varchar(20) 默認頁的名稱
issend smallint(6) 是否支持投稿
channeltype smallint(6) 頻道類型
maxpage int(11) 保留
ispart smallint(6) 欄目屬性
corank smallint(6) 瀏覽許可權
tempindex varchar(60) 封面模板
templist varchar(60) 列表模板
temparticle varchar(60) 文章模板
tempone varchar(60) 單獨頁面模板
namerule varchar(50) 文章命名規則
namerule2 varchar(50) 列表命名規則
modname varchar(30) 模板名稱
description varchar(200) 欄目介紹
keywords varchar(100) 關鍵詞
moresite smallint(6) 多站點支持
siterefer smallint(6) 多站點站點根目錄屬性
sitepath varchar(60) 多站點站點根目錄
siteurl varchar(60) 多站點綁定域名
ishidden smallint(6) 是否隱藏欄目
dede_sgpage 單頁
上面是一些常用欄位,可以在dede後台-》系統-》SQL命令行工具執行sql語句來批量修改!
C. 火車頭採集內容發布dede自定義欄位
DEDE使用火車採集器實現的自動實時發布文章和更新HTMl的功能。
一,為什麼有這個想法:
使用火車發布文章,有三大不足。
需要登陸發布,受DEDE系統限制太大
就是一次發布的數量有限制,可能造成一次性發布太多遭K的惡果
如果網站首頁是靜態文件,則不能更新首頁,用戶就不知道網站的更新情況
如果沒有一台可以一直運行的伺服器,使用火車採集器的自動更新功能就不太現實
火車採集器的自動更新功能是收費的,呵呵。
自己需要咯,想挑戰一下自己咯等。
二,Do it.
首先想到,讓火車發布大量數據,且將文章屬性設置為未審核狀態,這個問題很簡單,使用DEDEv5.3.1時卻遇到DEDE的一個Bug。就是未審核的文章居然會在前台顯示。先是對DEDE一氣臭罵,後來找了一些原因,發現了DEDEv5.3.1中的一個Bug.經修復後可以實現未審核的文章不在前台顯示。1月13號到DEDE報告Bug以後,1月14號DEDE出的補丁中修復了這個問題,呵呵,所以,1月15號,就是今天咯,開始正式整理此開發文檔。
實際發現,發布和保存大量未審核文章不成問題,難在如何實現隨機激發發布功能。想了很久,覺得使用時間限制最好。當前台JS調用了審核文章的鏈接,傳遞一個訪問用戶的信息,程序取得用戶的IP並保存為SESSION信息,此時,審核一篇文章並生成文章與首頁靜態文件。一個用戶在一定的時間內,只能激活限定數量的文章,且,發布時使用此用戶的IP信息,呵,挺個性的。
激活文章,生成文章靜態頁和首頁靜態文章,受網站模板的影響,可能會比較慢,則會出現首頁未生成完頁面就被關閉的問題。所以,最好的辦法是,在發布時文章時就生成文章靜態文件,然後把文章設置為未審核狀態。激活文章時則只需要很短的查詢。首頁或者列表頁盡量使用動態頁,這兩個問題不好處理,只能以此法代之。
完整的過程就是,發布文檔時,將文檔設置為未審核狀態;調用程序時,先判斷上一次查詢的緩存有沒有超時,如果超過緩存時間,則清除緩存,以顯示最新的文章。清除緩存以後,查詢出一定數量屬性為未審核的文檔,將Archives和Arctiny表中的未審核屬性取消,並更新一下文檔的Pubdate欄位,實現一點隨機化。最後寫入緩存,禁止緩存有效期內的重復更新!
三,文件使用方法:
發布文檔時請把文檔屬性設置為未審核狀態,即發布時提交的文檔屬性參數為:arcrank=-1,這時為動態瀏覽;
如果你想生成靜態文檔,請將文檔狀態設置為正常瀏覽狀態,即arcrank=0;然後修改默認文檔添加程序。
如:arcticle_add.php,在文件最下邊「//生成HTML」處添加一段代碼:
//生成HTML
InsertTags($tags,$arcID);
$artUrl = MakeArt($arcID,true,true);
if($artUrl=='')
{
$artUrl = $cfg_phpurl."iew.php?aid=$arcID";
}
$dsql->ExecuteNoneQuery("UPDATE `cmsxx_archives` SET `arcrank`='-1' WHERE (`id`='$arcID');");
$dsql->ExecuteNoneQuery("UPDATE `cmsxx_arctiny` SET `arcrank`='-1' WHERE (`id`='$arcID');");
然後,上傳New.php到你的網站根目錄,到Dede後台設置系統基本設置中,將性能選項卡中的arclist標簽調用緩存時間設置為一個合適的數,如3600表示一個小時刷新一次緩存。
最後,在模板文件頂部調用一段代碼即可:
「 <script type=」text/javascript」 src=」{dede:global.cfg_cmsurl/}/new.php」></script> 」。
支持的參數:
no=每次隨機更新的數量,為空時默認為5;
typeid=欄目ID,為空則是全站數據
order=排序方式,支持Desc:倒序,Asc:順序,Rand:隨機,默認為隨機查詢。
如:「 <script type=」text/javascript」 src=」{dede:global.cfg_cmsurl/}/new.php?no=100&typeid=2&order=desc」></script> 」
排序為Desc的時候,是按先發布的文章先審核的方式進行發布的,Asc反之,Rand為隨機。
四,這是我們在數據處理方面做的一個嘗試,也許這種新的模式會是一次突破。祝大家使用愉快。有Bug或者建議請回復於後。
如何正式你想要的答案別忘採納哦