HBcms的Smarty+PEAR::Pager+PEAR::HTML_table列表页分页实例
时间:2007-04-28
来源:互联网
文章标题:
HBcms 的Smarty+PEAR::pager+PEAR::Html_table列表页分页实例
文章目的:
下面的代码是从 HBcms 的分页程序里节选出来的,因为牵涉到太多的关联程序或类库,
为了让大家能看明白,这里只贴关键的程序片段,给个思路,
希望能对一些有需要,又有点迷惑的程序员起到引导作用。
应用演示:
http://www.hbcms.com/cms/JianZhanJingYan/
http://www.hbcms.com/cms/help/
http://www.hbcms.com/hbcms/user/list_msg.php?mod=show_outbox
文章版权:
本文章版权归宏博CMS www.hbcms.com 所有,转发请保留此版权说明
应用范围:
所有需要 分页+个性化输出 的项目
注意事项:
PEAR,SMARTY 初学者会觉得很麻烦,耐心一点,一旦越过了初学阶段,会事半功倍
关键代码:
首先,从数据库读取分页所需要的数据($data_ary),这里用到的关键类库为 PEAR:PAGER
[ 本帖最后由 hbcms 于 2007-4-28 10:08 编辑 ]
HBcms 的Smarty+PEAR::pager+PEAR::Html_table列表页分页实例
文章目的:
下面的代码是从 HBcms 的分页程序里节选出来的,因为牵涉到太多的关联程序或类库,
为了让大家能看明白,这里只贴关键的程序片段,给个思路,
希望能对一些有需要,又有点迷惑的程序员起到引导作用。
应用演示:
http://www.hbcms.com/cms/JianZhanJingYan/
http://www.hbcms.com/cms/help/
http://www.hbcms.com/hbcms/user/list_msg.php?mod=show_outbox
文章版权:
本文章版权归宏博CMS www.hbcms.com 所有,转发请保留此版权说明
应用范围:
所有需要 分页+个性化输出 的项目
注意事项:
PEAR,SMARTY 初学者会觉得很麻烦,耐心一点,一旦越过了初学阶段,会事半功倍
关键代码:
首先,从数据库读取分页所需要的数据($data_ary),这里用到的关键类库为 PEAR:PAGER
复制PHP内容到剪贴板
'mode' => 'Sliding',
'delta' => 4,
'perPage' => 20,
'firstPageText' => $CFG['lang']['index_page'],
'lastPageText' => $CFG['lang']['last_page'],
'nextImg' => $CFG['lang']['next_page'],
'prevImg' => $CFG['lang']['prev_page'],
'spacesBeforeSeparator' => 1,
'spacesAfterSeparator' => 1,
'extraVars' => array('type_id'=>$type_id,'order_by'=>$order_by,'keyword'=>$keyword,'title_key'=>$title_key,'body_key'=>$body_key,'editor_mark'=>$editor_mark),
'httpMethod' => 'GET',
);
$data_ary = getArticlePagerData($child_id_str, $pagerOptions, $search_key, $order_by);
其次,将读取到的数据,组合成希望要显示的表格形式,这里用到的关键类库为 PEAR:HTML_TABLE
PHP代码:
$pagerOptions = array('mode' => 'Sliding',
'delta' => 4,
'perPage' => 20,
'firstPageText' => $CFG['lang']['index_page'],
'lastPageText' => $CFG['lang']['last_page'],
'nextImg' => $CFG['lang']['next_page'],
'prevImg' => $CFG['lang']['prev_page'],
'spacesBeforeSeparator' => 1,
'spacesAfterSeparator' => 1,
'extraVars' => array('type_id'=>$type_id,'order_by'=>$order_by,'keyword'=>$keyword,'title_key'=>$title_key,'body_key'=>$body_key,'editor_mark'=>$editor_mark),
'httpMethod' => 'GET',
);
$data_ary = getArticlePagerData($child_id_str, $pagerOptions, $search_key, $order_by);
复制PHP内容到剪贴板
$tableAttrs = array('width' => '590','align'=>'center', "cellpadding"=>5, "cellspacing"=>0);
$table = new HTML_Table($tableAttrs);
$table->setAutoGrow(true);
$table->setAutoFill(' ');
for ($i = 0; $i < count($data_ary['data']); $i++) {
$table->setHeaderContents($i+1, 0, (string)($i+$data_ary['from']));
.....
}
$DATA_ARY['body'] .= $form->toHtml();
// 注意:此部分可以直接传递变量给smarty模板,这样灵活性更加强。
最后,用Smarty模板进行输出
PHP代码:
require_once 'HTML/Table.php';$tableAttrs = array('width' => '590','align'=>'center', "cellpadding"=>5, "cellspacing"=>0);
$table = new HTML_Table($tableAttrs);
$table->setAutoGrow(true);
$table->setAutoFill(' ');
for ($i = 0; $i < count($data_ary['data']); $i++) {
$table->setHeaderContents($i+1, 0, (string)($i+$data_ary['from']));
.....
}
$DATA_ARY['body'] .= $form->toHtml();
// 注意:此部分可以直接传递变量给smarty模板,这样灵活性更加强。
复制PHP内容到剪贴板
$tpl = new mySmarty($CFG, $tpl_dir);
// 设置模板变量
$tpl->assign(
array(
"data_ary" => $DATA_ARY,
"web" => $CFG['web'],
)
);
echo $tpl->myFetch('user_index.tpl.html');
// 注意:此处也可以将smarty模板的输出直接生成静态页,HBCMS的前台列表页就是掉用smarty生成的静态页
.PHP代码:
require_once("mySmarty.class.php");$tpl = new mySmarty($CFG, $tpl_dir);
// 设置模板变量
$tpl->assign(
array(
"data_ary" => $DATA_ARY,
"web" => $CFG['web'],
)
);
echo $tpl->myFetch('user_index.tpl.html');
// 注意:此处也可以将smarty模板的输出直接生成静态页,HBCMS的前台列表页就是掉用smarty生成的静态页
[ 本帖最后由 hbcms 于 2007-4-28 10:08 编辑 ]
作者: hbcms 发布时间: 2007-04-28
;P 空间很少有支持pear的吧?
作者: edwardhey 发布时间: 2007-05-06
php空间都支持pear,设置一下即可
作者: hbcms 发布时间: 2007-05-11
pear可不可以直接和smarty一样下载下来include使用啊
呵呵,因为服务器不一定开通
能打包到程序里就ok了
呵呵,因为服务器不一定开通
能打包到程序里就ok了
作者: sanler 发布时间: 2007-05-29
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28