织梦dedecms列表页有缩略图显示图文列表没有则文字列表
2024-07-12 08:58:30
供稿:网友
整体思路其实就是利用dedecms的[field:array runphp='yes']这个标签的@me包含了需要的所有标签,这样就可以通过@me["litpic"]来判断文章是否有缩略图,进而分两种形式输出列表html,即有缩略图的和没有缩略图的
具体代码如下:
<style type="text/css">
.arcList .itemMod{ border-bottom:dashed 1px #ccc; margin-bottom:15px; padding-bottom:15px;}
.arcList .imgListItem{ height:130px; padding-left:215px; position:relative;}
.arcList .img{ left:0; position:absolute; top:0;}
.arcList .arcTit{ font-family:Microsoft Yahei; font-size:16px; font-weight:700;}
.arcList .attrs{ height:22px; line-height:22px; margin:10px 0;}
.arcList .click{ margin-left:50%;}
.arcList .infos{ color:#666; font-size:12px; margin:0;}
</style>
<div class="arcList">{dede:list pagesize='10'}
[field:array runphp='yes'] if(empty(@me["litpic"]) || preg_match('/defaultpic/', @me["litpic"]))
{ @me = '<div class="itemMod txtListItem"><div class="text"><div class="arcTit"><a class="t" href="'.@me["arcurl"].'">'.@me["fulltitle"].'</a></div><p class="attrs">'.GetDateTimeMK(@me["pubdate"]).'<span class="click"><span>点击:</span>'.@me["click"].'</span></p><p class="infos">'.@me["infos"].' ... <a class="fc_orange" href="'.@me["arcurl"].'" title="'.@me["fulltitle"].'">[全文]</a></p></div></div>'; }
else
{ @me = '<div class="itemMod imgListItem"><a class="img" href="'.@me["arcurl"].'"><img class="lazy" src="'.@me["litpic"].'" width="200" height="130" alt="'.@me["fulltitle"].'" /></a><div class="text"><div class="arcTit"><a class="t" href="'.@me["arcurl"].'">'.@me["fulltitle"].'</a></div><p class="attrs">'.GetDateTimeMK(@me["pubdate"]).'<span class="click">点击:'.@me["click"].'</span></p><p class="infos">'.@me["infos"].' ... <a class="fc_orange" href="'.@me["arcurl"].'" title="'.@me["fulltitle"].'">[全文]</a></p></div></div>'; }
[/field:array]
{/dede:list}</div>可有可无的代码解析:
先说下样式吧,如果阁下会css完全可以根据自己的需求来定制样式,
if(empty(@me["litpic"]) || preg_match('/defaultpic/', @me["litpic"]))
这段代码就是判断是否有缩略图的,通过判断后下面就是分两种情况输出了,其实都很简单,这里说下调用字段数据,象平时都是用[field:fulltitle/],这里就要改成@me["fulltitle"],另外还有一点就是php语法的问题,细心的朋友可能已经发现了'.@me["fulltitle"].'两边都有.',也就是说@me["xxx"]是变量