久久机这里只有精品,国产69精品一区二区亚洲孕妇,91精品国产综合久久婷婷香蕉,午夜久久久久久电影

最新活動(dòng):電腦PC端+手機(jī)端+微網(wǎng)站+自適應(yīng)網(wǎng)頁多模板選擇-建站388元起價(jià)!!!
當(dāng)前位置:主頁 > 網(wǎng)站建設(shè) > 織夢(mèng)CMS如何擴(kuò)展標(biāo)簽程序開發(fā)

織夢(mèng)CMS如何擴(kuò)展標(biāo)簽程序開發(fā)

時(shí)間:2023-05-26 13:05:26 閱讀: 文章分類: 網(wǎng)站建設(shè) 作者: 建站小能手

導(dǎo)讀:程序開發(fā)程序開發(fā)DedeCMS 從 V5.3 開始就支持自己擴(kuò)展標(biāo)簽,不過許多新人很少用那個(gè)東西,簡(jiǎn)單的介紹下如何編寫自己的調(diào)用標(biāo)簽。 我們需要知道下擴(kuò)展標(biāo)簽的存放目錄及文件名網(wǎng)seo優(yōu)化趨勢(shì)營(yíng)銷型網(wǎng)站建設(shè)。

網(wǎng)seo優(yōu)化趨勢(shì)營(yíng)銷型網(wǎng)站建設(shè)DedeCMS 從 V5.3 開始就支持自己擴(kuò)展標(biāo)簽,不過許多新人很少用那個(gè)東西,簡(jiǎn)單的介紹下如何編寫自己的調(diào)用標(biāo)簽。 我們需要知道下擴(kuò)展標(biāo)簽的存放目錄及文件名構(gòu)成,首先,擴(kuò)展的標(biāo)簽 […]

DedeCMS從V5.3開始就支持自己擴(kuò)展標(biāo)簽,不過許多新人很少用那個(gè)東西,簡(jiǎn)單的介紹下如何編寫自己的調(diào)用標(biāo)簽。   我們需要知道下擴(kuò)展標(biāo)簽的存放目錄及文件名構(gòu)成,首先,擴(kuò)展的標(biāo)簽都是存放在/include/taglib這個(gè)目錄,名稱都是以“標(biāo)簽名.lib.php”格式,例如{dede:channel/}標(biāo)簽對(duì)應(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   //------------------------------------------------------   $revalue = 'Hello Word!';   //------------------------------------------------------   return $revalue;   }   ?>   我們登錄系統(tǒng)后臺(tái)的[模板]-[全局標(biāo)簽測(cè)試]中運(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è)簡(jiǎn)單的標(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ù)制,我們可以測(cè)試下,做如下的修改:   $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)   接下來我們就可以編寫查詢語句及對(duì)底層模板處理的相關(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";   $innert網(wǎng)站推廣優(yōu)化seoext這個(gè)是用來獲取標(biāo)簽的底層模板的,$ctp創(chuàng)建用于處理底層模板中的變量,并處理進(jìn)行替換。我們根據(jù)獲取的屬性編寫我們的sql語句,這里我們使用limit 0, $row,這樣就可以根據(jù)$row來確定查詢的內(nèi)容數(shù)目。   當(dāng)然我們可以獲取更多的屬性以便我們這個(gè)標(biāo)簽更強(qiáng)大,例如我們可以增加類似于arclist中的相關(guān)屬性,并在函數(shù)中進(jìn)行處理,不過這個(gè)需要有一定的PHP基礎(chǔ)。   接下來我們通過執(zhí)行查詢對(duì)sql及輸出變量進(jìn)行處理:   $dsql->Execute('me',$sql);   while($rs = $dsql->GetArray('me'))   {   //根據(jù)屬性處理查詢變量   $rs['title'] = cn_substr($rs['title'], $titlelen);   //獲取底層模板   $ctp->LoadSource($innertext);   foreach($ctp->CTags as $tagid=>$ctag) {   if(!empty($rs[strtolower($ctag->GetName())])) {   $ctp->Assign($tagid,$rs[$ctag->GetName()]);   }   }   //根據(jù)底層模板及查詢變量得到處理結(jié)果   $revalue .= 網(wǎng)站建設(shè)制作$ctp->GetResult();   }   這樣我們就將查詢出來的結(jié)果同底層模板中出現(xiàn)的相關(guān)變量進(jìn)行替換,然后生成輸出字符串,將所有的字符串信息存儲(chǔ)到$revalue中。   最后返回這個(gè)值return $revalue;   整個(gè)文件內(nèi)容如下:       if(!defined('DEDEINC'))   {   exit("Request Error!");   }   function lib_writerarc(&$ctag,&$refObj)   {   global $dsql,$envs;   //屬性處理   $attlist="row|12,titlelen|24";   FillAttsDefault($ctag->CAttribute->Items,$attlist);   extract($ctag->CAttribute->Items, 網(wǎng)站seo優(yōu)化軟件EXTR_SKIP);   $revalue = '';   $innertext = $ctag->GetInnerText();   $ctp = new DedeTagParse();   $ctp->SetNameSpace('field', '[', ']');   $sql = "SELECT * FROM dede_archives WHERE writer='{$refObj->Fields['writer']}' limit 0, $row";   $dsql->Execute('me',$sql);   while($rs = $dsql->GetArray('me'))   {   //根據(jù)屬性處理查詢變量   $rs['title'] = cn_substr($rs['title'], $titlelen);   //獲取底層模板   $ctp->LoadSource($innertext);   foreach($ctp->CTags as $tagid=>$ctag) {   if(!empty($rs[strtolower($ctag->GetName())])) {   $ctp->Assign($tagid,$rs[$ctag->GetName()]);   }   }   //根據(jù)底層模板及查詢變量得到處理結(jié)果   $revalue .= $ctp->GetResult();   }   return $revalue;   }   ?>   接下來我們來測(cè)試我們這個(gè)標(biāo)簽,我們修改article_article.htm模板,在里面加入以下的標(biāo)簽代碼:   {dede:writerarc row='10' titlelen='6'}   [field:title/]    {/dede:writerarc}   通過動(dòng)態(tài)瀏覽頁面進(jìn)行查看調(diào)試http://www.dedecms.com/plus/view.php?aid=3

關(guān)鍵詞標(biāo)簽: CMS 標(biāo)題 標(biāo)簽

聲明: 本文由我的SEOUC技術(shù)文章主頁發(fā)布于:2023-05-26 ,文章織夢(mèng)CMS如何擴(kuò)展標(biāo)簽程序開發(fā)主要講述標(biāo)簽,標(biāo)題,CMS網(wǎng)站建設(shè)源碼以及服務(wù)器配置搭建相關(guān)技術(shù)文章。轉(zhuǎn)載請(qǐng)保留鏈接: http://www.bifwcx.com/article/web_9870.html

我的IDC 網(wǎng)站建設(shè)技術(shù)SEOUC.COM
專注網(wǎng)站建設(shè),SEO優(yōu)化,小程序設(shè)計(jì)制作搭建開發(fā)定制網(wǎng)站等,數(shù)千家網(wǎng)站定制開發(fā)案例,網(wǎng)站推廣技術(shù)服務(wù)。
  • 5000+合作客服
  • 8年從業(yè)經(jīng)驗(yàn)
  • 150+覆蓋行業(yè)
  • 最新熱門源碼技術(shù)文章

    主站蜘蛛池模板: 南宁市| 朝阳区| 巩义市| 满洲里市| 海安县| 施秉县| 壤塘县| 札达县| 新竹县| 会宁县| 怀集县| 长沙市| 高青县| 榆社县| 武隆县| 凤城市| 嘉峪关市| 泰安市| 龙井市| 永德县| 西乌珠穆沁旗| 玉山县| 沐川县| 读书| 温州市| 南部县| 博罗县| 甘孜县| 瑞丽市| 东丽区| 临汾市| 天台县| 阿拉善盟| 蚌埠市| 大城县| 元朗区| 斗六市| 金川县| 夏邑县| 郎溪县| 嘉峪关市|