帝国CMS修改图集默认显示模板格式
2018-03-26 站长 站长日志
帝国CMS 的图集字体 [!----morepic--] 默认自带的输出模板是用table表格的。非常不利于配合JS制作各种图集特效。
想要自定义图片集输出模板方法有二:
1、修改 [!----morepic--] 字段模板:打开 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>格式。
方法二:不用 [!----morepic--] 调用,直接用PHP代码自定义调用:图集内容页调用图集中的所有图片列表,可区分调用大图还是综合略图。
适用于调用制作各种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] 图片说明
|