又学会一招:DEDE处理多个字段

时间: 2011-05-09 / 分类: dedecms / 浏览次数: 696,452 views / 0个评论 发表评论

比如我有一个字段叫推荐(tuijian)
我想当这个字段为空的时候就替换成其他字段的内容,比如要替换成aid的内容
直接[field:tuijian runphp=’yes’]处理代码[/field:tuijian]貌似无法取得其他字段的内容的
找了一下解决办法
实际上我们可以采用这个
[field:array runphp=’yes’]@me=@me[‘title’];[/field:array]处理多个字符
比如刚才的功能可以写成
[field:array runphp=’yes’]
$aa=@me[‘tuijian’];
if(empty($aa)){
@me=@me[‘aid’];
}else{
@me=@me[‘tuijian’];
}
[/field:array]
这个功能非常有用~记录一下
顺便附上找到的文章

关于dede模板文件里面的编程总结

我们用dede最常见的就是模板的制作.下面列举一些制作dede模板文件的时候里面的一些编程总结

一 .字段调用函数 :

1. artlist标签里面:

[field:pubdate function=MyDate(‘Y-m-d H:i’,@me)/]

2. 文章页面里面(article_article.htm):

{dede:field.pubdate function=”MyDate(‘Y-m-d H:i’,@me)”/}

或者这样写 {dede:field name=’pubdate’ function=”MyDate(‘Y-m-d H:i’,@me)”/}

上面的@me代表pubdate这个字段值,函数返回处理后的值

二.字段值用PHP处理的

1. artlist标签里面:

处理单个字段:[field:title runphp=’yes’]@me ;[/field:title]

处理多个字符: [field:array runphp=’yes’]@me=@me[‘title’];[/field:array]

2. 文章页面里面(article_article.htm):

处理单个字段: {dede:field.title runphp=’yes’} @me;{/dede:field.title}

或者 {dede:field name=’title’ runphp=’yes’} @me;{/dede:field}

处理多个字符: {dede:field.array runphp=’yes’} @me=@me[‘title’];{/dede:field.array}

或者 {dede:field name=’array’ runphp=’yes’} @me=@me[‘title’];{/dede:field}

三.模板文件里面直接写PHP带码

{dede:php}
$flag=1;
if($flag==1) {
echo ‘111′;
}else{
echo ‘22′;
}
{/dede:php}

四.其它

1.在文章列表中,显示当前文章的评论数量:

[field:ID runphp=’yes’]$dsql = new dedesql(false);$dsql -> SetQuery(“Select count(id) as c

from dede_feedback where aid=”.@me);$row = $dsql -> getone();@me=$row[‘c’];[/field:ID]

2.文章收藏次数

[field:ID runphp=’yes’]$dsql = new dedesql();$dsql -> SetQuery(“select count(*) as c from

dede_member_stow where aid=”.@me);$nic_row = $dsql -> getone();@me=$nic_row[‘c’];[/field:ID]

3.

{dede:field.id runphp=’yes’}
$tsql = new DedeSql(false);
$gname = ”;
$row = $tsql->GetOne(“Select 字段名 From 表名 where aid=’@me’”);
$gname .= “进入游戏”;
@me=$gname;
{/dede:field.id}

4. 列表页调用会员任意字段信息.

[field:mid runphp=yes]
$tsql = new DedeSql(false);
$mid = ”;
$tsql->SetQuery(“Select m.mid,m.userid,c.company,c.address,c.url FROM dede_member m left join

dede_member_company c on m.mid = c.mid where m.mid=’@me’”);
$tsql->Execute(‘t’);
while($row = $tsql->GetArray(‘t’,MYSQL_ASSOC))
{
$mid .= “

  • 公司名:

    .$row[‘company’].”

  • ”.”

  • 公司网址:

    .$row[‘url’].”

  • ”;
    }
    @me=$mid;
    [/field:mid]
    或简单一个表:
    公司地址:
    [field:mid runphp=yes]
    $tsql = new DedeSql(false);
    $mid = ”;
    $tsql->SetQuery(“Select mid,company,address From dede_member_company where mid=’@me’”);
    $tsql->Execute(‘t’);
    while($row = $tsql->GetArray(‘t’,MYSQL_ASSOC))
    {
    $mid = $row[‘address’];
    }
    @me=$mid;
    [/field:mid]

    发表评论

    您的昵称 *

    您的邮箱 *

    您的网站