dedecms中的{dede:php}{/dede:php}的詳細(xì)用法,織夢技術(shù)
導(dǎo)讀:織夢技術(shù)織夢技術(shù)dedecms里面有兩個標(biāo)簽還是比較靈活的,一個是{dede:php}{/dede:php}另外一個是{dede:sql}標(biāo)簽,{dede:php}標(biāo)簽注釋要用織夢模板修改織夢模板網(wǎng)。
dedecms里面有兩個標(biāo)簽還是比較靈活的,一個是{dede:php}{/dede:php}另外一個是{dede:sql}標(biāo)簽,{dede:php}標(biāo)簽注釋要用來在模板中寫php代碼的,{dede:sql}主要是用來調(diào)用sql用的,下面就來介紹下這兩個標(biāo)簽到底該如何使用。該文章是轉(zhuǎn)自百度空間的一篇文章。
{dede:sql}標(biāo)簽的用法
sql標(biāo)簽可以稱得上是個萬能標(biāo)簽了,查詢數(shù)據(jù)庫將其輸出,這里介紹一些關(guān)于這個標(biāo)簽的用法:
1.用來輸出統(tǒng)計內(nèi)容,這個是不錯的,舉個例子,我們來統(tǒng)計下總共發(fā)了多少的文章,思路就是輸出dede_addonarticle這個文章附加表內(nèi)容總數(shù)就可以了。
{dede:sql sql="SELECT COUNT(*) AS nums FROM dede_addonarticle"}
[field:name = "nums"/]
{/dede:sql}
2.使用~field~來進(jìn)行特殊的查詢,比如之前論壇上面很多會員需要做一個輸出當(dāng)前發(fā)布文章會員的相關(guān)內(nèi)容,之前用sql或者arclist標(biāo)簽是沒辦法實現(xiàn)的,因為每篇內(nèi)容是不同的,這里我們來用5.5的sql語句來做個示范。
我們首先在文章模板中相應(yīng)的位置加上下面的標(biāo)簽
{dede:sql sql="SELECT * FROM dede_archives WHERE writer=~writer~"}
[field:id/],
{/dede:sql}
這個放到article_article.htm頁面,將會檢索出當(dāng)前會員發(fā)布的相關(guān)文章,這里的~ writer~會根據(jù)當(dāng)前內(nèi)容的環(huán)境變量進(jìn)行替換后再執(zhí)行查詢。
這里出現(xiàn)在SQL語句中條件查詢的~ writer~,也就是$refObj->Fields[$value]這個里面的相關(guān)內(nèi)容
模板中使用PHP
許多人希望織夢的模板標(biāo)簽?zāi)軌蚋屿`活,加入可以運(yùn)行PHP的功能,這里在DedeCMS V5.5中就加入了一個可以執(zhí)行php的特殊標(biāo)簽{dede:php}{/dede:php},這個標(biāo)簽可以執(zhí)行PHP語句了。
我這里舉幾個常用的例子:
1.最簡單的輸出內(nèi)容:
{dede:php}
$numA = 1;
$numB = 2;
echo $numA + $numB;
{/dede:php}
在 {dede:php}里想要輸出信息 可以直接使用print , echo 之類的打印出來 賦值給@me 無效
這個輸出的內(nèi)容是計算結(jié)果:
3
2.結(jié)合SQL查詢輸出單條內(nèi)容
{dede:php}
$row = $dsql->GetOne('select id,typename from dede_arctype where id=2');
print_r($row);
{/dede:php}
這個輸出的內(nèi)容是
Array
(
[id] => 2
[typename] => 問答
)
3.獲取當(dāng)前頁面的變量
比如我們這里進(jìn)入系統(tǒng)后臺的[模板]-[全局標(biāo)記測試],我們在代碼中填入下面的內(nèi)容:
{dede:php}
print_r($refObj->Fields);
{/dede:php}
在PHP中想要獲取dede某個字段值 可以使用織夢文章模板 $refObj->Fields 對象來獲取 列入獲取 title => $refObj->Fields['title']
如果環(huán)境變量保持默認(rèn),即"不使用環(huán)境ID",我們會看到以下的結(jié)果:
Array
(
[typeid] => 0
[phpurl] => /plus
[indexurl] => /
[templeturl] => /templets
[memberurl] => /member
[specurl] => /special
[indexname] => 主頁
[temdede商城模板pletdef] => /templets/default
)
那我們再換個環(huán)境變量測試看看,這里以我本地的欄目為測試了:
Array
(
[id] => 3
[reid] => 0
[topid] => 0
[sortrank] => 1
[typename] => 產(chǎn)品
[typedir] => {cmspath}/product
&hdede,模板ellip; …
[indexname] => 主頁
[templetdef] => /templets/default
[position] => 主頁 > 產(chǎn)品 >
[title] => 產(chǎn)品
)
這樣一來就檢索出當(dāng)前頁面的局部變量了,接下來我們可以來結(jié)合前面的SQL語句來實現(xiàn)根據(jù)不同環(huán)境ID調(diào)用內(nèi)容不同欄目內(nèi)容。
例如:
{dede:php}
$thisid = $refObj->Fields['id'];
$row = $dsql->GetOne('select id,typename from dede_arctype where id='.$thisid);
print_r($row);
{/dede:php}
這樣是來調(diào)用當(dāng)前欄目的標(biāo)題,這個標(biāo)簽功能類似于{dede:field.typename/}相關(guān)織夢模板修改織夢模板網(wǎng)。
聲明: 本文由我的SEOUC技術(shù)文章主頁發(fā)布于:2023-07-19 ,文章dedecms中的{dede:php}{/dede:php}的詳細(xì)用法,織夢技術(shù)主要講述標(biāo)簽,標(biāo)題,織夢網(wǎng)站建設(shè)源碼以及服務(wù)器配置搭建相關(guān)技術(shù)文章。轉(zhuǎn)載請保留鏈接: http://www.bifwcx.com/article/web_30164.html