欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

dedecms field:array 字段数组 运行 php 有大用

shiping1 的头像

 @me=(empty(@me['litpic'])) ? "" : "<p class='tufloat'><img src='".getReferImg("{@me['litpic']}",121,92)."' alt='{@me['title']}'/></p>";

上面的代码是ok

 

[field:array runphp='yes']
   global $tid;
   $currentTypeId = $tid;
   if($currentTypeId == 48){
    @me="{@me['typelink']}";//可以  @me=@me['typelink'];//可以  @me=@me['typelink'];//不可以
   }
    else {
    
    }

[/field:array]


在D:\xampp\htdocs\dedecmsv56GBK\uploads\include\taglib\type.lib.php 文件中 增加 $row['array']字段

 

 

 

{dede:list pagesize='10'}
    <li>
    [field:array runphp='yes']@me = (empty(@me['litpic']))? "" : "<a href='{@me['arcurl']}' class='preview'><img src='{@me['litpic']}'/></a>"); [/field:array]
        <a href="[field:arcurl/]" class="title">[field:title/]</a>
        <span class="info">
            <small>日期:</small>[field:pubdate function="GetDateTimeMK(@me)"/]
            <small>点击:</small>[field:click/]
            <small>好评:</small>[field:scores/]
        </span>
        <p class="intro">
            [field:description/]...
        </p>
    </li>
{/dede:list}
[field:array] //好像只能用在 dede:list ,dede:arclist,dede:channel 中




比如我有一个字段叫推荐(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:field.array runphp='yes'}{/dede:field.array}来运行即可轻松解决你的问题。

例如平时使用


{dede:field name='title' /}
就可以使用
{dede:field name='array'  runphp='yes'} @me=@me['title'];{/dede:field}




dede首页调用顶级栏目单页内容(如公司简介)及名称和链接的方法  
2011-11-01 14:38:20|  分类: cms建站 |  标签:dede  顶级栏目  单页内容   |字号 订阅
         最近在网上找了很多资料,但是都调用不出来,几乎每种方法都试过,最后突然想起首页调用顶级栏目名称的例子,它使用的是{dede:channel}标签,然后在到channel标签下使用[field:array],果然调取出来了,现分享给大家:

调用内容方法,调用描述同理:

{dede:channel  row=1   type="top"}
                    [field:array runphp='yes']
                    global $dsql;
                    @me =@me['id'];
                    $sql = "select * from #@__arctype where id=11";    /*顶级栏目id
                    $dsql->Execute('a',$sql);
                    $one = $dsql->GetArray('a');
                    @me =substr(Html2Text($one['content']),0,660);
                    [/field:array]...
{/dede:channel}
调用顶级栏目名称及链接方法:
{dede:type typeid='11'}
<span><a href="[field:typelink/]" target="_blank" title="[field:typename/]">[field:typename/]</a></span>
{/dede:type}


 

普通分类: