DedeCMS 内容页无图就显示默认图,代码怎么写
在\dede\include\extendfuncphp文件中添加如下函数:
function getArticleList($category=0,$order="",$limit="0,200"){
global $dsql;
$query = "SELECT arc,tptypedir,tptypename,tpcorank,tpisdefault,tpdefaultname,tpnamerule,
tpnamerule2,tpispart,tpmoresite,tpsiteurl,tpsitepath
FROM `#@__archives` arc LEFT JOIN `#@__arctype` tp on arctypeid=tpid
where tpid=$category";
//此sql语句我只加了where判断文章所属分类
//其他的order limit 你根据需要自己添加
$dsql->SetQuery($query);
$dsql->Execute('lit');
$arr = array();
$cnt = 0;
$str = "";
while ($row = $dsql->GetArray('lit')) {
if($cnt%4 == 0){
$str = "<div class='css1'>";
}
if($cnt%4 > 0){
$class = "css3";
}else{
$class = "css2";
}
$str = "<span class='"$class"'>"$row['title']"</span>";
$cnt++;
if($cnt%4 == 0){
$str = "</div>";
}
//$row中可用的常用字段如下:$row['id'],$row['typeid'],$row['senddate'],$row['title'],$row['ismake'], row['arcrank'],$row['namerule'],$row['typedir'],$row['money'],$row['filename'],$row['moresite'],$row['siteurl'],$row['sitepath']
}
return $str;
}
然后在模板中使用
{dede:field name='typeid' function="getArticleList(@me)" /}
将分类的id传给此函数就可以调用到数据,输出就是你要的格式。
输出内容你修改下php文件,常用字段都给你写在注释里了。
如果可以请也将我昨天给你回答的采纳一下。
方法1:
这个模板的大小控制是由CSS控制的
要修改CSS
右边区域修改
templets/style/picturecss文件
pbox 样式
如大小
pbox dl dt{
width:188px;
height:132px;
display:block;
overflow:hidden;
}
pbox dl dt a img{
display:block;
width:expression(thiswidth > thisheight && thiswidth >176 176 : true);
height:expression(thisheight > thiswidth && thisheight > 132 132 : true);
max-width:176px;
max-height:132px;
margin:0px auto 0px;
}
方法2:
{dede:list pagesize='15' imgwidth='100' imgheight='70' infolen='180'}
方法3:
把调用代码中标签[field:imglink/]换成
<a href='[field:arcurl /]' target="_blank"><img src='[field:picname /]' border='0' width='' height=''></a>
您好,朋友,很高兴为您解答:
请用以下代码测试:
{dede:fieldpic1 runphp=yes}if(@me==""){@me="<img src='/uploads/pictures/pic1jpg' />";}else {@me=@me;}{/dede:fieldpic1}
希望我的回答能够帮到您!
0条评论