runphp='yes'運行php,是dedecms織夢的一個比較重要的標(biāo)簽,有時候可能會需要做一些邏輯判斷和運算,或者織夢提供的標(biāo)簽做不到,就需要用到運行自定義的php功能。
在runphp='yes'里面,我們可以做邏輯判斷,我們也可以進(jìn)行php的運行。甚至對dedecms的數(shù)據(jù)庫進(jìn)行操作。接下來我們就來談?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='沒選中';
}
[/field:id]
</li>
{/dede:arclist}
|
這個思路很簡單,filed:id的值給了@me。然后用@me這個方式來進(jìn)行判斷,可以進(jìn)行邏輯運算,也可以進(jìn)行邏輯判斷。@me其實是代表當(dāng)前這個變量的值,如果你修改了@me的值,其實就相當(dāng)于修改了這個變量的值。
2、runphp='yes'和數(shù)據(jù)庫相互結(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判斷某個字段是否為空,如使用if語句判斷摘要是否為空,如果有摘要就顯示摘要模塊,如果沒有就不顯示
{dede:field.description runphp='yes'}
if (@me <> '') {
@me = '<div>'.@me.'</div>';
} else {
@me = '';
}
{/dede:field.audio}
|
4、比如調(diào)用某一欄目文章列表時,使用if判斷是文章是否有簡略標(biāo)題,如果有就調(diào)用簡略標(biāo)題
{dede:arclist row='10'}
[field:array runphp='yes']
if (@me['shorttitle'] == '') {
@me = @me['title'];
} else {
@me = @me['shorttitle'];
}
[/field:array]
{/dede:arclist}
|