人才社区

 找回密码
 免费入驻

QQ登录

只需一步,快速开始

搜索
查看: 148|回复: 0

[已解决] ECSHOP的文章内容分页功能增加或修复分页功能失效的问题

[复制链接]

51

主题

53

帖子

390

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
390
发表于 2019-5-23 22:36:25 | 显示全部楼层 |阅读模式
ECSHOP的文章内容没有分页功能,对于较短的文章来说没什么,如果赶上内容很长的文章,就不太好了。

下面我们来动手改造一下。

1、其实ECSHOP后台的文章编辑器(FCKeditor)是带有分页功能的,只是默认是隐藏的而已。
(当然还有一些ecshop后台文章编辑器里面有显示插入分页的功能但是前端分页失效或无效果,这种情况下可以跳过这一步,直接从第2步开始)

打开 /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/模板文件夹/article.dwt 文件


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

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



回复

使用道具 举报

您需要登录后才可以回帖 登录 | 免费入驻

本版积分规则

快速回复 返回顶部 返回列表