织梦列表页arclist中利用autoindex实现不同样式,并在runphp中调用其它字段

单纯的php标签中是无法获取其他字段的,得利用[field:array runphp='yes']@me['title']...等等[/field:array]再利用全局变量$GLOBLAS['autoindex']获取当前的索引值加以判断,并输出不同的样式,如下(注意是在列表页中):

<!-- 列表 -->

<ul id="data-list" class="hot-news-list clearfix" >
{dede:arclist flag="h" row="30" addfields='body' titlelen="24" infolen="110" channelid='1'}


[field:array runphp='yes']

//获取body前4张图片 如果不足4张就用缩略图代替
$patten='/<img.*src=[\'|\"]?(.*?)[\'|\"]\s/i';
preg_match_all($patten,@me['body'],$res);
$imgList=$res[1];
$len=count($imgList);
if($len<4){
$imgList=array_pad($imgList, 4, 'http://www.jirou.com/images/defaultpic.gif');//终于可以
}
/*
if($len<4){
for($i=$len;$i<=(4-$len);$i++){

//$imgList[$i]=@me['litpic']; 不行

                       // array_push($imgList,'默认图片');也不行

$imgList[$i]='默认图片';

                    //目测是这样的写法不支持

}
}
*/
$title=@me['title'];
$litpic=@me['litpic'];
$arcurl=@me['arcurl'];
$pubdate=date('Y-m-d',@me['pubdate']);
@me=($GLOBALS['autoindex']%2)===0?"<li class='hot-news-list-detaile hot-news' >
<h6>$title</h6>
<a href='{$arcurl}'>
<ul>
<li> <img src='{$imgList[0]}' class='hot-news-list-img'></li>
<li> <img src='{$imgList[1]}' class='hot-news-list-img'></li>
<li> <img src='{$imgList[2]}' class='hot-news-list-img'></li>
<li> <img src='{$imgList[3]}' class='hot-news-list-img'></li>
</ul>
</a>
<span>$pubdate</span>
</li>":"<li class='hot-news-list-detaile'>
<a href='{$arcurl}'><img src='{$litpic}' alt='' class='hot-news-list-img'>
<h6>$title</h6>
<span>$pubdate</span>
</a>
</li>";
[/field:array]
   {/dede:arclist}
</ul>

<!-- 列表end -->

note:在runphp中用for循环写的代码一直不成功,目测是织梦模板不支持这样的写法,试了好多方法,终于支持array_pad()的写法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值