ecshop 分页原理详解

 我来答
承德魔法师
2011-10-28 · 超过18用户采纳过TA的回答
知道答主
回答量:65
采纳率:0%
帮助的人:32.6万
展开全部
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);

在它上面增加下面代码

/* 文章分页 */

$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} -->
TIGERRJ
2011-10-26
知道答主
回答量:11
采纳率:0%
帮助的人:4.7万
展开全部
俄方的更多更好听人家给你当然会有点突然怀念的发挥退热贴和南京也一样一样一样一样一样一样一样一样一样一样一样一样一样一样一样一样

参考资料: 自学

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式