帝国CMS 的图集字体 [!----morepic--] 默认自带的输出模板是用table表格的。非常不利于配合JS制作各种图集特效。
想要自定义图片集输出模板方法有二:
打开 e/class/functions.php 文件
找到:
//返回图片集html代码
function ReturnMorepicpathHtml($add){
global $public_r,$fun_r;
if(empty($add[morepic]))
{
return '';
}
$line=$add[num]?$add[num]:1;//每行显示
$picpath='';
$path_r=explode("/r/n",$add[morepic]);
for($pj=0;$pj<count($path_r);$pj++)
{
$p=$pj+1;
if(($p-1)%$line==0||$p==1)
{
$picpath.='<tr>';
}
$showdown_r=explode('::::::',$path_r[$pj]);
//显示图片名称
$name='';
if(!empty($showdown_r[2]))
{
$name="<br><span 'line-height=18pt'>".$showdown_r[2]."</span>";
}
$width=$add[width]?" width='".$add[width]."'":'';//宽度
$height=$add[height]?" height='".$add[height]."'":'';//高度
$picpath.="<td align=center><a href='".$public_r[newsurl]."e/ViewImg/index.html?url=".$showdown_r[1]."' target=_blank><img src='".$showdown_r[0]."'".$width.$height." border=0>".$name."</a></td>";
//分割
if($p%$line==0)
{
$picpath.='</tr>';
}
}
if($p<>0)
{
$table="<table width='100%' border=0 cellpadding=4 cellspacing=4>";
$table1="</table>";
$ys=$line-$p%$line;
$dotr=0;
for($j=0;$j<$ys&&$ys!=$line;$j++)
{
$dotr=1;
$picpath.='<td></td>';
}
if($dotr==1)
{
$picpath.='</tr>';
}
}
$value=$table.$picpath.$table1;
return $value;
}
共中,红色代码这部分就主要的图片输出格式,按需要修改即可,比如改成<li></li>格式。
图集内容页调用图集中的所有图片列表,可区分调用大图还是综合略图。
适用于调用制作各种JS图集效果,如下图:
代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | <?php if ( $navinfor [morepic]) { $exp = explode ( chr (13), $navinfor [morepic]); if ( $exp ) { ?> <?php foreach ( $exp as $k => $v ) { $exp2 = explode ( '::::::' , $v ); if ( $exp2 [1]) { echo '<img src="' . $exp2 [1]. '" width="660" height="560">' ; } } } } ?> |
其中:
1 2 3 | $exp2 [1] 大图 $exp2 [0] 缩略图 $exp2 [2] 图片说明 |
新闻热点
疑难解答