ECSHOP的文章内容分页功能

ECSHOP的文章内容没有分页功能,对于较短的文章来说没什么,如果赶上内容很长的文章,就不太好了。
下面我们来动手改造一下。

1、其实ECSHOP后台的文章编辑器(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);

在它上面增加下面代码

  1. /* 文章分页 */   
  2.         $article_arr=explode("<div style=\"page-break-after: always\"><span style=\"display: none\">&nbsp;</span></div>",$article['content']);
  3.         $page_cnt=count($article_arr);        
  4.         if($page){
  5.                 if($page > $page_cnt)                $page        =        $page_cnt;
  6.                 if($page < 1)                                        $page        =        1;
  7.                 $article["content"]=$article_arr[$page-1];
  8.         }else{
  9.                 $article["content"]=$article_arr[0];
  10.         }
  11.         if($page_cnt>1){
  12.         for($i=1;$i<=$page_cnt;$i++){
  13.                 if($page==$i)        $page_nav        .=" &nbsp;&nbsp;<span><font color=#ff0033>{$i}</font></span> ";
  14.                 else{
  15.                         $url        =        $_SERVER['SCRIPT_NAME'].'?id='.$article_id.'&page='.$i;
  16.                         $page_nav        .=" &nbsp;&nbsp;[ <a href=\"{$url}\"><span>{$i}</span></a> ] ";
  17.                 }
  18.         }
  19.         }
  20.         $smarty->assign('page_nav',$page_nav);
复制代码
3、修改 模板文件 
打开 /themes/模板文件夹/article.dwt 文件

在 
{$article.content}
后面增加下面代码

<!-- {if $page_nav} 翻页-->
        <div class="listpage" style="background:none; padding-top:0; padding-bottom: 10px;">{$page_nav}</div>
        <!-- {/if} -->

你可能感兴趣的:(PHP,cache,fckeditor)