muban大师 发表于 2021-4-23 10:10:28

dedecms织梦怎么用runphp='yes'运行php

runphp='yes'运行php,是dedecms织梦的一个比较重要的标签,有时候可能会需要做一些逻辑判断和运算,或者织梦提供的标签做不到,就需要用到运行自定义的php功能。
       
        在runphp='yes'里面,我们可以做逻辑判断,我们也可以进行php的运行。甚至对dedecms的数据库进行操作。接下来我们就来谈谈dedecmsrunphp='yes'的一些基本操作。
       
        1、runphp='yes'在循环中的判断。
       
       
               
                       
                               
                                       
{dede:arclist row=14 titlelen=32 noflag='h'}
[*,
[field:id runphp='yes',
if(@me==5){
    @me='选中';
}else{
    @me='没选中';
}
[/field:id,
{/dede:arclist}
                               
                       
               
       

        这个思路很简单,filed:id的值给了@me。然后用@me这个方式来进行判断,可以进行逻辑运算,也可以进行逻辑判断。@me其实是代表当前这个变量的值,如果你修改了@me的值,其实就相当于修改了这个变量的值。
       
        2、runphp='yes'和数据库相互结合使用
       
       
               
                       
                               
                                       
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 = ''.@me.'';
} else {
  @me = '';
}
{/dede:field.audio}
                       
               
       


4、比如调用某一栏目文章列表时,使用if判断是文章是否有简略标题,如果有就调用简略标题


       
               
                       
                               
{dede:arclist row='10'}
    [field:array runphp='yes',
      if (@me['shorttitle', == '') {
            @me = @me['title',;
      } else {
            @me = @me['shorttitle',;
      }
    [/field:array,
{/dede:arclist}
页: [1]
查看完整版本: dedecms织梦怎么用runphp='yes'运行php