您当前的位置:首页 > 网络教程 > 帝国CMS教程

帝国cms新闻系统增加图片集,并且列表模板调用所有小图实现方法



1、增加字段,可以仿照图片系统的字段值,添加到新闻系统,注意值,要不然调不出来
2、保存后,修改系统模型



刷新数据库,这样,新闻系统增加信息,就会有图集显示


列表页调用所有小图,方法如下:,一定要勾选使用程序代码

 

$fr=$empire->fetch1("select * from {$dbtbpre}ecms_news where id='$r[id]'");
$rexp="/r/n";
$fexp="::::::";
$rr=explode($rexp,$fr[morepic]);
$count=count($rr);
$listtemp="";
for($i=1;$i<$count+1;$i++)
{
$frt=explode($fexp,$rr[$i-1]);
$listtemps.=('<a href="'.$frt[1].'"><img src="'.$frt[0].'"></a>');
}
$listtemp=('<li>'.$listtemps.'</li>');

如果表是副表,则添加_data_{$r[stb]}
select * from {$dbtbpre}ecms_news_data_{$r[stb]} where id='$r[id]'  红线标注为副表,注意区分

内容页,如果也要对图集进行分割,可以这样:
<?php
$arr = array();
$arr = $navinfor['morepic'];
$newarr = explode(egetzy('rn'),$arr);
$count = count(explode(egetzy('rn'),$navinfor[morepic]));//图集的图片数量 
for($i=0;$i<$count;$i++)
{
$s_arr = array();
$s_arr[] = $newarr[$i];
$str = $s_arr[0];
$bot_arr = explode("::::::", $str);
$spic = $bot_arr[0];//小图
$bpic = $bot_arr[1];//大图
$picinfo = $bot_arr[2];//图片说明

echo '  <li> <a href="javascript:void(0);"><img src="'.$spic.'"  alt="'.$picinfo.'" bigimg="'.$bpic.'"  text="'.$picinfo.'"  /></a></li>';

}
?>
 

内容页图片统计
 <?php

$sl=empty($navinfor[morepic])?0:count(explode(chr(13),$navinfor[morepic]));

echo $sl;

?>

 

 
以前讲过多样式调用,那如果要增加图片集该怎么调用呢?
$titlepic='';
$morepic='';
if($r[titlepic])
{
$titlepic='<a href="" target="_blank"> <span class="newspic"><img src="[!--titlepic--]" alt="[!--oldtitle--]" /></span></a>
        <h2 class="newstitle"><a href="[!--titleurl--]" target="_blank">[!--title--]</a></h2>';
}
if($r[morepic])
{
$fr=$empire->fetch1("select * from {$dbtbpre}ecms_news where id='$r[id]'");
$rexp="/r/n";
$fexp="::::::";
$rr=explode($rexp,$fr[morepic]);
$count=count($rr);
for($i=1;$i<5;$i++)
{
$frt=explode($fexp,$rr[$i-1]);
$titlepis.=('<li><i><a href="[!--titleurl--]"><img src="'.$frt[0].'"></a></i></li>');
}
$titlepic=('  <h2 class="newstitle"><a href="[!--titleurl--]" target="_blank">[!--title--]</a></h2><div class="newspicbox"><ul>'.$titlepis.'</ul><div class="count">'.$count.'图</div></div>');
}

$listtemp='
<li class="newslist" data-scroll-reveal="enter bottom over 1s">     
'.$titlepic.'
        <div class="bloginfo">
          <ul>
            <li class="author">[!--writer--]</li>
            <li class="lmname"><a href="[!--this.classlink--]" title="[!--this.classname--]" target="_blank"  class="classname">[!--this.classname--]</a>
            <li class="timer">[!--newstime--]</li>
            <li class="view"><span>[!--onclick--]</span></li>
          </ul>
        </div>
      </li>
';

效果如下图:



首页获取单张小图调用方法:

$morepic='';
if($r[morepic])
{
$fr=$empire->fetch1("select * from {$dbtbpre}ecms_news where id='$r[id]'");
$rexp="/r/n";
$fexp="::::::";
$rr=explode($rexp,$fr[morepic]);
$count=count($rr);
for($i=1;$i<2;$i++)
{
$frt=explode($fexp,$rr[$i-1]);
$listtemps.=('<li><i><a href="[!--titleurl--]" title="[!--oldtitle--]"><img src="'.$frt[0].'"></a></i><span class="picture-item">[!--oldtitle--]</span></li>');
}

}

$listtemp=(''.$listtemps.'');


内容页:

<?php
$picr=explode(egetzy('rn'),$navinfor[morepic]);
for($p=0;$p<count($picr);$p++)
{
$spicr=explode("::::::",$picr[$p]);
?>
        <li>
          <div class="picimg"><img src="<?=$spicr[0]?>" /></div>
          <div class="pictxt">
            <h3>[!--title--]</h3>
          </div>
        </li>

<?php
}
?>

 

你觉得文章内容怎么样

阿里云代金券 100 云产品通用

有效期30天 首购用户

立即领取
阿里云代金券 100 云产品通用

有效期30天 复购+升级

立即领取