zen cart分页功能的类splitPageResults 位于includesclassessplit_page_results.PHP文件里面定义。
分页功能一般用于信息列表,比如商品列表,评论列表等。简单介绍这个分页类的一些功能。
该类的变量有$sql_query, $number_of_rows, $current_page_number, $number_of_pages, $number_of_rows_per_page, $page_name; 。他们的意义分别为:
$sql_query:查询数据库的sql语句,初始化该类的对象的时候会给这个变量赋值。
$number_of_rows:保存返回查询结果数。
$current_page_number:当前页面的数字,就是第几页。
$number_of_pages:总共有多少页,计算方法 $this->number_of_pages = ceil($this->number_of_rows / $this->number_of_rows_per_page);
$number_of_rows_per_page:每页显示的数量。这个变量由构造函数赋值。如果要改变每页显示的数量,可以修改这个参数的值。
$page_name:分页的参数名字,默认是page,就是page=?这样。
下面是函数功能的介绍
构造函数
function splitPageResults($query, $max_rows, $count_key = ‘*’, $page_holder = ‘page’, $debug = false)
这个构造函数,主要是对类变量赋值,其中$query这个是必须要输入的参数值,这个就是查询数据库的SQL语句,$max_rows这个是每页显示的数量,也必须的参数。其他的可以使用默认值。
参考例子$listing_split = new splitPageResults($listing_sql, MAX_DISPLAY_PRODUCTS_LISTING, ‘p.products_id’, ‘page’);
function display_count($text_output)
该函数主要显示查询结果的总数。参数为显示的文字,这个文字里面要有%d这样的标识才能把这个结果数显示出来,引用方式为 sprintf($text_output, $from_num, $to_num, $this->number_of_rows);
function display_links($max_page_links, $parameters = ”)
第一个参数就是显示的页面数量,这个就是除了显示下一页的文字以外的数字,如果是6,那 就是显示从1-6,第七个就是“下一页”这样的提示。$parameters 就是当前页面的一些参数,可以参考zencart内部的使用方式zen_get_all_get_params(array(‘page’, ‘info’, ‘x’, ‘y’, ‘main_page’)) 这个就是当前页面除了这些参数以外的其他参数
更多具体使用可以参考includestemplates模板名字templatestpl_modules_product_listing.php 这个文件里面