首页
允许输入参数
当$cPath有输入时,判断分类类型products(有产品或无子分类也无产品)/nested(无产品但有子分类),赋值给变量$category_depth。
- 加载$define_page,静态HTML等文件
- 加载语言
$_GET['typefilter']参数,标准使用includes/index_filters/default_filter.php, 该文件中有参数有:
$_GET'sort',
- $_GET['alpha_filter_id'](且值>0,产品名称的第一个字母)
- $alpha_sort = " and pd.products_name LIKE '" . chr((int)$_GET['alpha_filter_id']) . "%' ";
- $_GET['manufacturers_id'](非空,供应商),
- $_GET['filter_id'](分类ID),
$select_column_list变量定义查询SQL字段,
- 当指宝了供应商manufacturers_id时,filter_id为分类ID,
- 当未指定供应商ID时,$_GET['filter_id']为供应商ID,分类为当前分类ID,
- 两者都未指定时,仅使用当前分类ID过滤。
PRODUCT_LISTING_DEFAULT_SORT_ORDER为默认排序方式
$column_list变量为显示的列,可选值有文本类型:
- PRODUCT_LIST_MODEL 产品型号
- PRODUCT_LIST_NAME 产品名称
- PRODUCT_LIST_MANUFACTURER 供应商
- PRODUCT_LIST_QUANTITY 数量
- PRODUCT_LIST_IMAGE 实为标题
- PRODUCT_LIST_WEIGHT 重量
- PRODUCT_LIST_PRICE 产品排序(p.products_price_sorter)
PRODUCT_LIST_FILTER >0是否有过滤条件,当$_GET['manufacturers_id']有值时,使用供应商过滤查询出分类,否则使用当前分类过滤查询出供应商。
为nested类型输出 tpl_index_categories.php模板,当为products类型输出tpl_index_product_list.php模板,其它输出tpl_index_default.php模板,
$current_categories_description保存当前分类描述,
if ($categories_image = zen_get_categories_image($current_category_id)) {
?>
<div id="categoryImgListing" class="categoryImg"><?php echo zen_image(DIR_WS_IMAGES . $categories_image, '', SUBCATEGORY_IMAGE_TOP_WIDTH, SUBCATEGORY_IMAGE_TOP_HEIGHT); ?></div>
<?php
}
输出分类图片,
tpl_modules_category_row.php模板输出所有子分类,它又调用category_row.php模块文件得到结果,组建$list_box_contents[$row][$col]数组,并交由tpl_columnar_display.php模板完全输出。
$list_box_contents[$row][$col] = array('params' => 'class="categoryListBoxContents"' . ' ' . 'style="width:' . $col_width . '%;"',
'text' => '<a href="' . zen_href_link(FILENAME_DEFAULT, $cPath_new) . '">' . zen_image(DIR_WS_IMAGES . $categories->fields['categories_image'], $categories->fields['categories_name'], SUBCATEGORY_IMAGE_WIDTH, SUBCATEGORY_IMAGE_HEIGHT) . '<br />' . $categories->fields['categories_name'] . '</a>');
includes/classes/db/mysql/define_queries.php
定义了查询语句