商品(产品)模块相关数据调用方法及技巧(v5.0)
    2021-12-15
  
描述

  商品调用无论是单个商品还是多个商品列表均使用 {:product::data():} 的方法调用。调用指定ID(一条记录)时返回一维数组,其它方法均返回一个二维数组。

调用方法

{:product::data():}

相关参数

  共有 14 个可选参数,依次为:
   1、排序,对调用的商品进行排序:0按自定义字段降序优先,其次按发布日期降序、1发布日期降序、2发布日期升序、3商品ID降序、4商品ID升序、5点击次数降序、6点击次数升序、7评论人数降序、8评论人数升序、9销售价格降序、10销售价格升序、11库存数量降序、12库存数量升序、13已出售数量降序、14已出售数量升序、15收藏人数降序、16收藏人数升序。缺省值为 0
   2、调用记录数,分页时为每页要显示的数量,不分页时为调用的总记录数。缺省值为 10
   3、是否推荐:0调用全部、1只调用推荐、2调用非推荐。缺省值为 0
   4、频道ID,0为所有频道下的商品。缺省值为 0
   5、栏目ID,含指定ID下的子分类,0为所有栏目下的商品。缺省值为 0
   6、调用的商品ID或识别码,为0时没有限制,其它数字为要调用的ID,非数字时为调用识别码。调用单个商品时只有标题截取(第7、8个)参数有效,将忽略其它参数。指定ID时返回一维数组。缺省值为 0
   7、对完整标题字段截取长度,0不截取,显示完整标题。其它数字为标题截取长度。截取后的标题使用 array['title_format'] 调用,title 始终为未格式化的完整标题。缺省值为 0
   8、当标题被截取时显示的省略符号。缺省值为 "..."
   9、从第几条记录开始调用,分页时该参数无效,分页会根据 $_GET['page'] 来判定起始数。缺省值为 0
   10、是否分页,0不分页,1分页,缺省值为 0
   11、浏览权限:0调用全部、1调用有浏览权限限制的商品、2调用没有浏览限制的商品。缺省值为 0
   12、出售商品:0调用全部、1调用出售的商品(需要使用积分或金钱购买后浏览的商品)、2调用非出售的商品。缺省值为 0
   13、数字页码范围,数码分页时当前页前后显示多少页码。缺省值为 5
   14、是否调用上一篇、下一篇数据,0不调用、1调用,为1时将返回一个三个元素的多维数组:['prev']、['current'] 和 ['next']。对于调用指定ID单条数据时有效(即第6个参数大于0)。缺省值为 0

v5.0版本新增(多规格商品)

  商品最低价格:{:$p['min_price']:}
  商品最高价格:{:$p['max_price']:}
  商品颜色(去掉重复、无效,二维数组):{:$p['show_skus']['color']:}
  商品尺寸(去掉重复、无效,二维数组):{:$p['show_skus']['size']:}

调用实例

  1、调用当前频道下的10个商品并循环:   
{:foreach product::data(0,10,0,$mle['channel_id'],0,0,0,0,0,0,0,0,0,0) as $p:}
    {:$p['title']:}

    
{:/foreach:}

  2、调用商品颜色、规格(多规格商品):   
{:foreach product::data(0,1,0,0,0,1) as $p:}
    
    {:foreach $p['show_skus']['color'] as $sku_color:}
        {:$sku_color['val']:}
    {:/foreach:}

    
    {:foreach $p['show_skus']['size'] as $sku_size:}
        {:$sku_size['val']:}
    {:/foreach:}

    
{:/foreach:}

  3、调用商品列表,并获得分页数据实现分页(v5.0):   
{:foreach product::data(0,10,0,$mle['channel_id'],0,0,0,0,0,0,0,0,0,0) as $p:}
    {:product::data(0,10,0,0,0,0,0,0,0,1):}
{:assign var="page_data" value=product::$page_data:}
首页
上一页
下一页
尾页

列表分页及内容分页数据调用

  如果使用了分页(第10个参数为1时),将在模板中可以使用以下变量调用分页数据。如果内容页需要调用内容分页数据时,在内页模板中也可以使用以下变量调用商品详细内容的分页数据:
  数据总记录数:{:$page_data['total']:}
  当前页码:{:$page_data['page']:}
  每页要显示的记录数:{:$page_data['limit']:}
  总页数:{:$page_data['total_page']:}
  第一页链接URL:{:$page_data['start_url']:}
  上一页链接URL:{:$page_data['first_url']:}
  下一页链接URL:{:$page_data['next_url']:}
  尾页链接URL:{:$page_data['end_url']:}
  已计算好的页码数组(一个以页码为键名的数组,值为链接URL):{:$page_data['number']:}

其它相关参数调用

  当前商品所属频道ID(频道首页、栏目列表页、商品内页模板中均有效):{:$mle['channel_id']:}
  当前商品所属频道名称(频道首页、栏目列表页、商品内页模板中均有效):{:$mle['channel_title']:}

  在商品内页模板中有增加以下变量可以调用:
  当前商品所属一级类别ID:{:$p['category_split']['root_id']:}
  当前商品所属最低级类别ID:{:$p['category_split']['end_id']:}
  当前商品所属最低级类别名称:{:$p['category_split']['end_name']:}
  当前商品上一篇数据:{:$p['data_prev'][]:}
  当前商品下一篇数据:{:$p['data_next'][]:}

其它

  商品内页中的基本字段数据调用见后台"添加商品"中的备注。