给ECSHOP文章详细内容增加分页导航
			
			
				时间:2010-11-02 17:10来源: 作者: 点击:次
            	ECSHOP毕竟不是CMS系统,文章发布这块没有考虑分页功能,也是可以理解的嘛。 但是个别用户喜欢在网站上发布篇幅很长的文章,这时候加一个分页导航就显的有那么点重要性了, 下面我
			
			
				| ECSHOP毕竟不是CMS系统,文章发布这块没有考虑分页功能,也是可以理解的嘛。 
 但是个别用户喜欢在网站上发布篇幅很长的文章,这时候加一个“分页导航”就显的有那么点重要性了,
 下面我们就通过二次开来实现这个功能。
 
 以下教程是以 2.7.2版 + 官方默认模板为例进行讲解的。
 
 1)、
 先来改造后台的文章编辑器,其实那个 fckeditor 编辑器是带有分页按钮的,下面我们就让它现出原形。
 
 打开 /admin/includes/lib_main.php 文件
 将
 $editor->ToolbarSet = 'Normal';
 修改为
 $editor->ToolbarSet = 'Default';
 
 然后再返回文章编辑页面,刷新一下,看看是不是多出了很多功能键,
 操作方法:
 把光标定位在你想分页的位置,然后点一下第二排功能键的最后一个即可,具体如下图所示
 
  2)、接着修改前台程序,打开  /article.php 文件
 
 找到
 $cache_id = sprintf('%X', crc32($_REQUEST['id'] . '-' . $_CFG['lang']));
 
 将之修改为
 
 $page=isset($_REQUEST['page']) ? intval($_REQUEST['page']) : 1;
 $cache_id = sprintf('%X', crc32($_REQUEST['id'] . '-' .$page.'-'. $_CFG['lang']));
 
 继续,找到  $smarty->assign('article',      $article);
 
 在它的上面增加代码段
 
    
        
            | /* 文章分页 */ $article_arr=explode("<div style=\"page-break-after: always\"><span style=\"display: none\"> </span></div>",$article['content']);
 $page_cnt=count($article_arr);
 if($page){
 if($page > $page_cnt)                $page        =        $page_cnt;
 if($page < 1)                                        $page        =        1;
 $article["content"]=$article_arr[$page-1];
 }else{
 $article["content"]=$article_arr[0];
 }
 if($page_cnt>1){
 for($i=1;$i<=$page_cnt;$i++){
 if($page==$i)        $page_nav        .="   <span><font color=#ff0033>{$i}</font></span> ";
 else{
 $url        =        $_SERVER['SCRIPT_NAME'].'?id='.$article_id.'&page='.$i;
 $page_nav        .="   [ <a href=\"{$url}\"><span>{$i}</span></a> ] ";
 }
 }
 }
 $smarty->assign('page_nav',$page_nav);
 |  3)、
 最后一步是修改模板文件 ,打开 /themes/default/article.dwt
 找到
 {$article.content}
 在它后面增加下面代码
 
 
    
        
            | <!-- {if $page_nav} 翻页--> <div class="listpage" style="background:none; padding-top:0; padding-bottom: 10px;">{$page_nav}</div>
 <!-- {/if} -->
 |  注意:
 此方法不能实现自动分页,需要你在后台发布文章的时候插入分页符,
 个人认为此种方法,虽然稍微繁琐些,但是可控性更强,分页逻辑上更合理。(责任编辑:最模板)
 | 
			
			 
			
			
			
			
			
			
			
			
				------分隔线----------------------------