织梦列表制作新闻流实现不同的图片数量和样式调用

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

主要是利用array 和php配合获取到文章中的前面4个图片,然后再代培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.xhcss.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>


可能上面过于复杂 我们来举个简单的适用例子比如列表第一张显示图片!

调用代码!

         [field:array runphp='yes']
                       $image=@me['litpic'];
                       @me=($GLOBALS['autoindex'])===1?"$image":"";
                       [/field:array]




写的好!

微信扫一扫赏大洋