帝国CMS修改图集默认显示模板格式

澳门新浦京8455com 5

帝国CMS 的图册字体 [!—-morepic–]澳门新浦京8455com
暗许自带的出口模板是用table表格的。特别不低价协作JS制作各类图集特效。

帝国CMS采取分离出图片集中大图小图的形式能够更随便的显得图片集效果。本文所述实例是在系统图片集函数上改变了须臾间代码实现的握别出图聚焦的大图片和小图片。具体操作步骤如下:

分页效率是web开垦江西中国广播集团大的一项功效,也存在比非常多花样,这里最主要讲一下应用thinkPHP框架的page类来塑造一款bootstrap风格的分页进度。

想要自定义图片集输出模板方法有二:

e/class/userfun.php日增自定义函数如下:

率先须求去thinkPHP官方网址现在其分页扩张类

1、修改 [!—-morepic–] 字段模板:

复制代码代码如下://—————————客商自定义标签函数文件
//图片集输出大小图
function user_PhotoMorepage($picsize){
global $navinfor;
$morepic=$navinfor[‘morepic’];
if(empty($morepic))
{
return “”;
}
$rexp=”rn”;
$fexp=”::::::”;
$rr=explode($rexp,$morepic);
$count=count($rr);
for($i=0;$i {
$j=$i+1;
$fr=explode($fexp,$rr[$i]);
$smallpic=$fr[0]; //小图
$bigpic=$fr[1]; //大图
if(empty($bigpic))
{
$bigpic=$smallpic;
}
$picname=htmlspecialchars($fr[2]); //名称
$showsmphoto.=”澳门新浦京8455com 1“;
//展现小图格式改过这里
$showbigphoto.=”澳门新浦京8455com 2“;
//显示大图格式改进这里
if($i==0)
{
$firstpic=$showpic;
}

澳门新浦京8455com 3

打开 e/class/functions.php 文件

}
if($picsize==0){
echo $showsmphoto; //参数为0输出小图片
}
if($picsize==1){
echo $showbigphoto; //参数为1输出大图片
}
}
//图片集输出大小图甘休

一旦一直依照官方网址的科目进行分页,那么出来的意义无非是展现三个精简的不带别的样式的三回九转Gavin字,这明摆着是不相符项目须要的。

找到:

日增自定义标签如下图所示:

此地介绍下何以制bootstrap风格的分页效果。由于该分页类输出分页的原委是div里面加一而再的款型,而bootstrap采取的分页代码是nav上面ul+li+a的样式,所以必要改良分页类。

//返回图片集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;$pjcount($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=brspan style='line-height=18pt'.$showdown_r[2]./span;}$width=$add[width]? width='.$add[width].':'';//宽度$height=$add[height]? height='.$add[height].':'';//高度$picpath.=td align=centera href='.$public_r[newsurl].e/ViewImg/index.html?url=.$showdown_r[1].' target=_blankimg src='.$showdown_r[0].'.$width.$height. border=0.$name./a/td;//分割 if($p%$line==0){$picpath.='/tr';}}if($p0){$table=tablewidth='100%'border=0cellpadding=4cellspacing=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;}

澳门新浦京8455com 4

1.采纳EditPlus(或此外满含行号展现的IDE)展开page.calss.php,须求改善如下地点:

共中,黄绿代码这一部分就根本的图形输出格式,按须要改革就能够,举个例子改成li/li格式。

从今以往便可在内容模板页用

 protected $config  =    array('header'=>'条记录','prev'=>'上一页','next'=>'下一页','first'=>'第一页','last'=>'最后一页','theme'=>' %totalRow% %header% %nowPage%/%totalPage% 页 %upPage% %downPage% %first%  %prePage%  %linkPage%  %nextPage% %end%');

方法二:不用 [!—-morepic–] 调用,直接用PHP代码自定义调用:

复制代码代码如下:[usershowphoto]0[/usershowphoto]
调出图集中型迷你图片
                  

 

撞倒这里查看:

复制代码代码如下:[usershowphoto]1[/usershowphoto]
调出图集中山高校图片

第一在34行,纠正暗中认可的theme如上,将出口的文字新闻打包在多少个span中,并如上给其增加样式,这样做是由于暗中认可输出的文字消息样式不切合供给,须要修正,这些操作能够透过setConfig方法来成功,不过不提议如此做,因为theme实行setCongfig代码量超大,每趟在代码中调用分明很冗余,提议直接改换这一个分页类;

2.

 if ($upRow>0){              $upPage     =   " <li><a  .str_replace('__PAGE__',$upRow,$url)."'>".$this->config['prev']."</a></li>";          }else{              $upPage     =   '';          }            if ($downRow <= $this->totalPages){              $downPage   =   "<li><a  .str_replace('__PAGE__',$downRow,$url)."'>".$this->config['next']."</a></li>";          }else{              $downPage   =   '';          }          // << < > >>          if($nowCoolPage == 1){              $theFirst   =   '';              $prePage    =   '';          }else{              $preRow     =   $this->nowPage-$this->rollPage;              $prePage    =   "<li><a  .str_replace('__PAGE__',$preRow,$url)."' >上".$this->rollPage."页</a></li>";              $theFirst   =   "<li><a  .str_replace('__PAGE__',1,$url)."' >".$this->config['first']."</a></li>";          }          if($nowCoolPage == $this->coolPages){              $nextPage   =   '';              $theEnd     =   '';          }else{              $nextRow    =   $this->nowPage+$this->rollPage;              $theEndRow  =   $this->totalPages;              $nextPage   =   "<li><a  .str_replace('__PAGE__',$nextRow,$url)."' >下".$this->rollPage."页</a></li>";              $theEnd     =   "<li><a  .str_replace('__PAGE__',$theEndRow,$url)."' >".$this->config['last']."</a></li>";          }          // 1 2 3 4 5          $linkPage = "";          for($i=1;$i<=$this->rollPage;$i++){              $page       =   ($nowCoolPage-1)*$this->rollPage+$i;              if($page!=$this->nowPage){                  if($page<=$this->totalPages){                      $linkPage .= "&nbsp;<li><a  .str_replace('__PAGE__',$page,$url)."'>&nbsp;".$page."&nbsp;</a></li>";                  }else{                      break;                  }              }else{                  if($this->totalPages != 1){                                            $linkPage .= "<li ><a  >".$page."</a></li>";

从99行最初到141行终止,将享有出口的a标签依照如上海艺术剧场术改动,将每一个a标签都卷入在li中,便于顾客端调用;

上述page类算是修改产生,接下去须求在页面中开展调用

页面调用前台代码为:

第一在页面中要引进bootstrap的css文件,

<link   rel="stylesheet">

然后在模板中如下调用:

 <div class="table-responsive">            <table class="table table-striped">              <thead>                <tr>                  <th></th>                  <th>用户名</th>                  <th>密码</th>                  <th>电话号码</th>                  <th>电子邮件</th>                  <th>所属园区ID</th>                  <th>可访问摄像头列表</th>                  <th>注册时间</th>                  <th>备注</th>                  <th></th>                  <th></th>                </tr>              </thead>              <tbody id="tbuser">         <volist name="list" id="vo">            <tr>            <td><input type="checkbox" name="udCheck"/></td>            <td>{$vo.userName}</td>            <td>{$vo.password}</td>            <td>{$vo.phoneNum}</td>            <td>{$vo.email}</td>            <td>{$vo.deptId}</td>            <td>{$vo.accessCamera}</td>            <td>{$vo.registerTime}</td>            <td>{$vo.memo}</td>            <td><a href='#'  onclick="deleteUser('{$vo.userName}',this);" class="btn btn-danger btn-sm">删除</a></td>           <td><a href='/yunmu/Index/edit/id/{$vo.userName}' class="btn btn-primary btn-sm" >编辑</a></td>          </volist>                           </tbody>            </table>          <nav style="text-align:center;" >             <ul class="pagination">                         {$page}             </ul>        </nav>                     </div>

介怀这里设置nav的体裁是为着让其居中显得,pagination是bootstrap中自带的叁个分页的css
class,{$page}是后台传递给模板的输出的内容,

以上是前台代码的调用,后台PHP代码须求在展现之处增加如下代码:

                import('ORG.Util.Page');// 导入分页类              $count= $User->where($condition)->count();// 查询满足要求的总记录数               $Page=new Page($count,10);// 实例化分页类 传入总记录数,每页显示10条记录              $show=$Page->show();// 分页显示输出              $list = $User->where($condition)->order('userName')->limit($Page->firstRow.','.$Page->listRows)->select();              $this->assign('list',$list);// 赋值数据集              $this->assign('page',$show);// 赋值分页输出              $this->display(); // 输出模板

里头$condition是你自定义的询问条件,$Page=new
Page($count,10卡塔尔(قطر‎表示实例化分页类何况一页展现10行数据,然后调用其show方法再次回到输出内容,再将其
传递给前台模板。

如上步骤完毕之后,这几个分页成效已经主导产生,效果如下:

澳门新浦京8455com 5

如上选择其框架分页类的章程仅符合于表单提交查询(即页面全体跳转刷新)的分页,因为它对分页数据的操纵是通过在UEscortL后面部分增加参数如p=1这种方法来完毕的,所以其实每一趟查询数据的分页你都得保险它亦可收获完整的询问参数,不然大概点击第二页可能下一页的时候查询出来的结果就不是以前的结果了。提出将享有查询修正为利用get表单提交的主意。对于逻辑较为复杂或许须要使用ajax分页的风貌,这些分页类并不可能满意,供给团结去做到总体的前后台分页代码。

 


You can leave a response, or trackback from your own site.

Leave a Reply

网站地图xml地图