
ecshop 分页原理详解
2个回答
展开全部
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} -->
下面我们来动手改造一下。
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} -->
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询