DEDECMS 擴(kuò)展標(biāo)簽和dede自定義標(biāo)簽實(shí)現(xiàn)方法,織夢文
導(dǎo)讀:織夢文章織夢文章DedeCMS從V5.3開始就支持自己擴(kuò)展標(biāo)簽,不過許多新人很少用那個(gè)東西,簡單的介紹下如何編寫自己的調(diào)用標(biāo)簽dede模板免費(fèi)dede模板安裝。
dede
我們需要知道下擴(kuò)展標(biāo)簽的存放目錄及文件名構(gòu)成,首先,擴(kuò)展的標(biāo)簽都是存放在/include/taglib這個(gè)目錄,名稱都是以“標(biāo)簽名.lib.php”格式,例如{dede:channel/}標(biāo)簽對應(yīng)的是channel.lib.php文件。 我們可以看一個(gè)示例標(biāo)簽:demotag.lib.php 代碼如下: if(!defined('DEDEINC')) { exit("Request Error!"); } function lib_demotag(&$ctag,&$refObj) { global $dsql,$envs; //屬性處理 $attlist="row|12,titlelen|24"; FillAttsDefault($ctag->CAttribute->Items,$attlist); extract($ctag->CAttribute->Items, EXTR_SKIP); $revalue = ''; //你需編寫的代碼,不能用echo之類語法,把最終返回值傳給$revalue //-----------------------------------dede,模板------------------- $revalue = 'Hello Word!'; //------------------------------------------------------ return $revalue; } ?>
我們登錄系統(tǒng)后臺(tái)的[模板]-[全局標(biāo)簽測試]中運(yùn)行{dede:demotag/},顯示如下的結(jié)果:,我們會(huì)發(fā)現(xiàn)標(biāo)簽起作用了,輸出了我們的內(nèi)容。
至此我們完成了標(biāo)簽的編寫,這里面主要涉及到PHP、MySQL的很多知識(shí),需要有一定相關(guān)方面的基礎(chǔ)才能夠編寫標(biāo)簽了,當(dāng)然這里只是一個(gè)簡單的標(biāo)簽開發(fā)例子,還有許多的東西可以去開發(fā)。
這里我們知道,其實(shí)標(biāo)簽生成的內(nèi)容其實(shí)是這個(gè)函數(shù)的一個(gè)返回值,這里返回的內(nèi)容都是字符串,也就是函數(shù)return $revalue;中的$revalue需要是經(jīng)過處理后生成的字符串。 $attlist="row|12,titlelen|24";這個(gè)是屬性列表,這個(gè)經(jīng)過函數(shù)處理后會(huì)直接生成變量并復(fù)制,我們可以測試下,做如下的修改:
代碼如下: $revalue = 'Hello Word!'; $revalue .="Row:".$row.";TitleLen:".$titlelen;
這樣我們可以看到,這個(gè)屬性已經(jīng)被創(chuàng)建變量并且賦值了。 接下來我們可以再進(jìn)一步去修改這個(gè)標(biāo)簽。 比如說我們需要寫一個(gè)標(biāo)簽專門來查詢文章內(nèi)容頁的那個(gè)相關(guān)文章,功能類似于上面sql標(biāo)簽中的那個(gè)sql,只是這里我們將其分裝為一個(gè)標(biāo)簽。 我們可以新建一個(gè)標(biāo)簽,例如叫writerarc,那我們就需要?jiǎng)?chuàng)建一個(gè)writerarc.lib.php,然后模仿demotag編寫函數(shù),注意需要修改為 function lib_writerarc(&$ctag,&$refObj) 接下來我們就可以編寫查詢語句及對底層模板處理的相關(guān)函數(shù)了
代碼如下: $revalue = ''; $innertext = $ctag->GetInnerText(); $ctp = new DedeTagParse(); $ctp->SetNameSpace('field', '[', ']'); $sql = "SELECT * FROM dede_archives WHERE writer='{$refObj->Fields['writer']}' limit 0, $row";
聲明: 本文由我的SEOUC技術(shù)文章主頁發(fā)布于:2023-07-19 ,文章DEDECMS 擴(kuò)展標(biāo)簽和dede自定義標(biāo)簽實(shí)現(xiàn)方法,織夢文主要講述標(biāo)簽,自定義,CMS網(wǎng)站建設(shè)源碼以及服務(wù)器配置搭建相關(guān)技術(shù)文章。轉(zhuǎn)載請保留鏈接: http://www.bifwcx.com/article/web_30482.html
為你推薦與DEDECMS 擴(kuò)展標(biāo)簽和dede自定義標(biāo)簽實(shí)現(xiàn)方法,織夢文相關(guān)的文章
-
dedecms 織夢5.7 圖集實(shí)現(xiàn)分頁功能,織夢技術(shù)
(51)人喜歡 2023-07-19 -
織夢模板如何顯示完整的標(biāo)題,dedecms
(101)人喜歡 2023-07-19 -
DedeCms織夢后臺(tái)添加編輯文章空白解決辦法
(195)人喜歡 2023-07-19 -
DedeCMS Error: (PHP 5.3 and above) P,織夢文章
(102)人喜歡 2023-07-19 -
織夢后臺(tái)登錄界面更改,織夢技術(shù)
(88)人喜歡 2023-07-19 -
織夢dedecms模塊管理空白不顯示的四種解決
(61)人喜歡 2023-07-19