織夢(mèng)下載標(biāo)簽分析,DEDE技術(shù)
導(dǎo)讀:DEDE技術(shù)DEDE技術(shù)在 怎樣自定義織夢(mèng)標(biāo)簽初探 這篇文章中對(duì)織夢(mèng)標(biāo)簽,作了初次探索,現(xiàn)在就舉一個(gè)具體的例子,來(lái)學(xué)習(xí)一下織夢(mèng)是標(biāo)簽是如何寫(xiě)的,這個(gè)例子比較綜合,與一般簡(jiǎn)單的標(biāo)簽有很大織夢(mèng)模板織夢(mèng)模板。
在“怎樣自定義織夢(mèng)標(biāo)簽初探”這篇文章中對(duì)織夢(mèng)標(biāo)簽,作了初次探索,現(xiàn)在就舉一個(gè)具體的例子,來(lái)學(xué)習(xí)一下織夢(mèng)是標(biāo)簽是如何寫(xiě)的,這個(gè)例子比較綜合,與一般簡(jiǎn)單的標(biāo)簽有很大不同,而且,相當(dāng)復(fù)雜,做好心理準(zhǔn)備。今天給一個(gè)朋友開(kāi)發(fā)一個(gè)在線下載并且在線支付功能的網(wǎng)站,所以,對(duì)這個(gè)作了一個(gè)系統(tǒng)的研究,就是標(biāo)簽{dede:field name='softlinks'/}
雖然,感覺(jué)里面的還有些東西,現(xiàn)在不能理解,但是最后,還是開(kāi)發(fā)完了,有很多東西看多了,寫(xiě)多了雖然,不知道具體的是什么意思,但是知道會(huì)用。今天就把我的開(kāi)發(fā)成果,作一個(gè)總結(jié),也把通過(guò)這個(gè)例子,加深一下對(duì)織夢(mèng)標(biāo)簽的理解,相信以后,還會(huì)用到的。
因?yàn)槭窍螺d站,{dede:field name='softlinks'/}是里面最難,最核心,少了它一切都是空談,但也是最復(fù)雜的,我們分析這個(gè)標(biāo)簽如何從數(shù)據(jù)庫(kù)調(diào)用出來(lái)的,在數(shù)據(jù)庫(kù)里面又是以什么樣的形式存在,又是如何插入到數(shù)據(jù)庫(kù)的。
我們倒著分析,即先分析,如何插入到數(shù)據(jù)庫(kù)的,當(dāng)我們發(fā)布軟件的時(shí)候,如下圖所示。
我們要把從本地或手動(dòng)指定軟件下載地址,作完這一工作后,我們點(diǎn)擊“確實(shí)”,此時(shí),會(huì)通過(guò)soft_add.php把我們無(wú)論手工上傳的,還是手工指定的都以類(lèi)似{dede:link} $softurl {/dede:link}這種形式,插入到數(shù)據(jù)庫(kù)表dede_addonsoft里面的字段softlinks里面了,我添加了一個(gè),打開(kāi)對(duì)應(yīng)的表找到字段softlinks,這個(gè)字段的值,如下圖所示。
現(xiàn)在我們明白了,實(shí)際上標(biāo)簽{dede:softlinks/}要調(diào)用的是上圖中的以{dede:link}開(kāi)始以{/dede:link}結(jié)束的字符串,我們想一下,如果這樣直接調(diào)用的話,是不是調(diào)出來(lái)的就是一個(gè)標(biāo)簽形式的字符串?是的,沒(méi)有錯(cuò),如果這樣我們調(diào)用了來(lái)的就不是下載地址了,而是多了二個(gè)大dede模板下載括號(hào),例如:上圖中字段softlinks的值是:"{dede:link text='DedeCms3.1全新安裝程序'} http://www.dedebase.com/upimg/soft/dedesoft/dedecmsv3.1.rar {/dede:link}",我們應(yīng)當(dāng)調(diào)用的是中間的http://www.dedebase.com/upimg/soft/dedesoft/dedecmsv3.1.rar,所以,我們就要對(duì)softlinks這個(gè)字段值,進(jìn)行處理。
處理方法,跟另一篇“怎樣自定義織夢(mèng)標(biāo)簽初探”這篇文章里的類(lèi)似,但又有很大的不同。
在內(nèi)容模板即article_soft.htm里面,用標(biāo)簽{dede:field name='softlinks'/}來(lái)調(diào)用,這個(gè)標(biāo)簽調(diào)出來(lái)的是生成的靜態(tài)頁(yè)面,(例如 類(lèi)似www.dedebase.com/a/downloads/80.html)里面的代碼<a href='/plus/download.php?open=0&aid=80&cid=3'>進(jìn)入下載地址列表</a>,標(biāo)簽源碼是include/taglib/channel/softlinks.lib.php。
這個(gè)標(biāo)簽源碼文件softlinks.lib.php的功能,就是在生成靜態(tài)網(wǎng)頁(yè)時(shí),把標(biāo)簽{dede:field name='softlinks'/}通過(guò)模板引擎,變成<a href='/plus/download.php?open=0&aid=80&cid=3'>進(jìn)入下載地址列表</a>,他的作用就是這個(gè)作用,也就是這個(gè)標(biāo)簽源碼功能到此為止。但是如果在后臺(tái)設(shè)置的鏈接方式是跳轉(zhuǎn)到另一個(gè)頁(yè)面下載,那么,還會(huì)生成類(lèi)似/download.php?open=2&id={$refObj->ArcID}&uhash={$uhash}代碼,這個(gè)代碼是我們點(diǎn)擊“進(jìn)入下載地址列表”后,顯示的代碼。
真正下載的功能其實(shí)是plus/download.php這個(gè)文件,標(biāo)簽源碼只是把下載連接解析出來(lái),并生成對(duì)應(yīng)的鏈接方式,而要真正去處理下載的是download.php,我們打開(kāi)這個(gè)文件,找到else if($open==2)這句代碼開(kāi)始,前面幾行就是做初始化準(zhǔn)備,例如判斷有沒(méi)有下載軟件資源等。
我們看下面的代碼。
聲明: 本文由我的SEOUC技術(shù)文章主頁(yè)發(fā)布于:2023-07-20 ,文章織夢(mèng)下載標(biāo)簽分析,DEDE技術(shù)主要講述標(biāo)簽,標(biāo)題,織夢(mèng)網(wǎng)站建設(shè)源碼以及服務(wù)器配置搭建相關(guān)技術(shù)文章。轉(zhuǎn)載請(qǐng)保留鏈接: http://www.bifwcx.com/article/web_31539.html
為你推薦與織夢(mèng)下載標(biāo)簽分析,DEDE技術(shù)相關(guān)的文章
-
DedeCMS站點(diǎn)高級(jí)安全策略(Linux篇),織夢(mèng)教程
(105)人喜歡 2023-07-20 -
織夢(mèng)DEDECMS中讓近三天發(fā)布的文章顯示紅色
(194)人喜歡 2023-07-20 -
dedecms網(wǎng)站搬家需要的備份的文件,dedecms
(51)人喜歡 2023-07-20 -
織夢(mèng)(dedecms)導(dǎo)航條dropdown.js的改進(jìn)(附演示
(98)人喜歡 2023-07-20 -
解決Dedecms生成RSS地圖地址出錯(cuò)全都多了一
(139)人喜歡 2023-07-20 -
dede調(diào)用指定欄目下相關(guān)文章的實(shí)現(xiàn)方法
(123)人喜歡 2023-07-20