runphp='yes'運(yùn)行php,是dedecms織夢(mèng)的一個(gè)比較重要的標(biāo)簽,有時(shí)候可能會(huì)需要做一些邏輯判斷和運(yùn)算,或者織夢(mèng)提供的標(biāo)簽做不到,就需要用到運(yùn)行自定義的php功能。
在runphp='yes'里面,我們可以做邏輯判斷,我們也可以進(jìn)行php的運(yùn)行。甚至對(duì)dedecms的數(shù)據(jù)庫(kù)進(jìn)行操作。接下來(lái)我們就來(lái)談?wù)刣edecmsrunphp='yes'的一些基本操作。
1、runphp='yes'在循環(huán)中的判斷。
{dede:arclist row=14 titlelen=32 noflag='h'}
<li><a href="[field:arcurl/]">[field:title/]</a>
[field:id runphp='yes']
if(@me==5){
@me='選中';
}else{
@me='沒(méi)選中';
}
[/field:id]
</li>
{/dede:arclist}
|
這個(gè)思路很簡(jiǎn)單,filed:id的值給了@me。然后用@me這個(gè)方式來(lái)進(jìn)行判斷,可以進(jìn)行邏輯運(yùn)算,也可以進(jìn)行邏輯判斷。@me其實(shí)是代表當(dāng)前這個(gè)變量的值,如果你修改了@me的值,其實(shí)就相當(dāng)于修改了這個(gè)變量的值。
2、runphp='yes'和數(shù)據(jù)庫(kù)相互結(jié)合使用
global $dsql;
$a="SELECT game.assprice,game.msg,game.bigpic,game.model,game.sptype,gameetime,game.brand
FROM dede_addongame_tg as game where game.aid=@me";
$dsql->Execute()
|
3、使用if判斷某個(gè)字段是否為空,如使用if語(yǔ)句判斷摘要是否為空,如果有摘要就顯示摘要模塊,如果沒(méi)有就不顯示
{dede:field.description runphp='yes'}
if (@me <> '') {
@me = '<div>'.@me.'</div>';
} else {
@me = '';
}
{/dede:field.audio}
|
4、比如調(diào)用某一欄目文章列表時(shí),使用if判斷是文章是否有簡(jiǎn)略標(biāo)題,如果有就調(diào)用簡(jiǎn)略標(biāo)題
{dede:arclist row='10'}
[field:array runphp='yes']
if (@me['shorttitle'] == '') {
@me = @me['title'];
} else {
@me = @me['shorttitle'];
}
[/field:array]
{/dede:arclist}
|