国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > CMS > 織夢DEDE > 正文

關(guān)于dedecms文章處理類Archives中的body字段

2024-07-12 08:44:20
字體:
供稿:網(wǎng)友

我們知道/include/arc.archives.class.php文件是處理文章信息的,在文章詳情頁面的模版文件中那些dede標(biāo)簽的顯示數(shù)據(jù)就是來源于此,這篇文章中主要討論body字段。

前面我已經(jīng)寫了一篇如何為文章顯示提供一個安卓客戶端接口的文章 為dede增加安卓客戶端接口的基本流程,其中就需要對顯示在android客戶端上的文章內(nèi)容做一些處理,需要將原本問相對路徑的url全部替換成帶域名的絕對路徑。

我自己寫了一個實(shí)現(xiàn)替換url的函數(shù)放在archive.helper.php中,于是我在arc.archives.class.php中自認(rèn)為合適的地方調(diào)用了替換body  url連接的方法,結(jié)果發(fā)現(xiàn)根本不行,得到的body是為空的。
經(jīng)過分析發(fā)現(xiàn)在archives類的構(gòu)造函數(shù)調(diào)用之后立即處理body是沒有用的,因?yàn)閍rchives類的構(gòu)造方法中,獲取的都是文章主表的信息,里面沒有body的內(nèi)容,body存在于文章附表中。而附表字段的獲取在這個函數(shù)中:

function ParAddTable()

因此我要修改$this->Fields['body']的值,必須在這個函數(shù)之后。 ParAddTable()是在display()中被調(diào)用的,所以我只能在display()中做處理了。

事實(shí)上這仍然行不通,正確的做法是在ParAddTable()中的  “//處理要分頁顯示的字段” 代碼之前。

不過下面幾行代碼如果弄清楚了的話 會有所幫助:

$this->SplitFields = explode("#a#",$this->Fields[$this->SplitPageField]);

通過打印,發(fā)現(xiàn)$this->SplitPageField的值就是body,那么$this->SplitFields 就是body字段的分段數(shù)組了,其中#a#的a實(shí)際上是p,但是如果我這樣寫后面文字的就顯示不出來了。

其實(shí)之所以前面修改了$this->Fields['body']的值在最終顯示中不能體現(xiàn),是因?yàn)槟0逯袥]有調(diào)用$this->Fields['body']而是調(diào)用的$this->SplitFields,如果沒有文章分頁,那么$this->SplitFields中只有一個元素。能影響到$this->SplitFields結(jié)果的代碼只能在ParAddTable()函數(shù)自身中。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 左贡县| 高邮市| 乐安县| 温宿县| 容城县| 凯里市| 九江县| 呼图壁县| 新安县| 石屏县| 彭阳县| 黄浦区| 汝州市| 缙云县| 湄潭县| 宾阳县| 慈溪市| 北辰区| 得荣县| 大城县| 建宁县| 鄯善县| 台安县| 连州市| 通江县| 清原| 喀喇沁旗| 宜黄县| 赞皇县| 长子县| 巴青县| 获嘉县| 栖霞市| 安达市| 阿尔山市| 石家庄市| 莱芜市| 郑州市| 扶风县| 玉树县| 阿合奇县|