ZenCart函数-functions_categories.php

共计有21个函数 已经列出了12个

zen_has_category_subcategories($category_id)

根据分类ID—-检查该分类是否有子分类,实现过程是统计 parent_id=$category_id的数量,如果数量大于1,表示有子分类,返回bool类型

zen_get_categories_parent_name($categories_id)

根据分类ID—-获取父分类的名字 categories_name

zen_get_parent_categories($categories, 37)

根据分类的ID—-向上查找父分类的ID,比如子分类:37 cPath=33_35_37,那么$categories最终是一个数组,[35,37],如果没有父分类就返回true,表示该分类是一个顶级分类。自身迭代函数,一直向上查找,直到parent_id为0为止,里面有个非常重要的判断 如果查找出来的当前分类的ID 不等于当前分类的ID 继续调用自身 直到查询到顶级分类。

zen_get_subcategories(&$subcategories_array, $parent_id = 0)

同理获取子分类的ID,并不是仅仅获取一级子分类,包括子分类的子分类,都一次性获取

比如:zen_get_subcategories($categories_sub,33);得到的结果是下面 有11个子分类

zen_get_product_path($products_id)

根据产品ID—-获得产品的cPath,比如产品ID:90,调用函数得到,获取48_45

实现过程:先根据产品的ID,查找出master_categories_id—》继续查找master_categories_id所有的父分类,得到数组后反转数组,最后拼接上当前分类的ID 返回48_45。

zen_get_path($current_category_id = ”)【还要继续研究】

zen_get_path函数中有个非常关键的 $cPath_array 暂时还不知道它的用法

zen_count_products_in_category($category_id, $include_inactive = false)

统计分类下的产品,产品ID,$include_inactive表示是否包含隐藏产品,如果产品隐藏了,我们统计的时候是否选择呢?

此函数默认会统计该分类下的所有子分类的产品,会累加在一起

zen_get_generated_category_path_rev(39)

用来生成当前分类的路径,包含当前分类“33_35_39”,函数实现过程是:根据参数查找到所有的父分类,然后反转函数,用连字符连接起来,最后拼接上当前分类ID,最后返回

zen_parse_category_path(’33_35_39′)

解析cPath变量并去掉重复的分类ID 比如 33_35_39,返回一个int类型数组。

以上学习了9个函数了

zen_get_product_types_to_category($lookup)

根据分类的ID,查找分类类型的ID,在TABLE_PRODUCT_TYPES_TO_CATEGORY表的product_type_id字段,一个产品分类可以有多个产品类别。

zen_get_categories_products_list(15)

zen_get_categories_products_list($categories_id, $include_deactivated = false, $include_child = true, $parent_category = ‘0’, $display_limit = ”)

获得一个分类下面所有的产品的ID【包括它的子分类】 得到一个数组 数组结构是 产品–分类ID

$include_deactivated:表示是否包含隐藏的产品

$include_child:是否包含子分类

$parent_category

$display_limit:表示限制条件

zen_product_in_category(1, 4)

检查分类ID和产品ID是否有对应的关系,在表TABLE_PRODUCTS_TO_CATEGORIES中,根据$product_id–检索categories_id,如果检索出来的categories_id和我们传入的分类ID相同,表示存在对应关系。如果不存在就继续检查父分类ID。

zen_product_in_parent_category($product_id, $cat_id, $parent_cat_id)
此函数就是继续检查父分类ID函数