热门文章
      Popular Articles
          商品(产品)模块相关数据调用方法及技巧(v5.0)

          发布日期:2019-02-21     点击:

            商品调用无论是单个商品还是多个商品列表均使用 {: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:}
              <a href="{:$p['URL']:}">{:$p['title']:}</a>

              <!--
              这里还可以使用的其它的变量,如:
              格式化后的商品标题(被截取字符、添加字体颜色、字体加粗等属性):{:$p['title_format']:}
              格式化后的短标题(添加字体颜色、字体加粗等属性):{:$p['brief_format']:}
              转成数组后的图片地址:{:$p['picture'][n]:}
              商品发布日期:{:$p['addtime']:}
              商品所属频道ID:{:$p['channel_id']:}
              商品所属频道名称:{:$p['channel']:}
              商品所属栏目路径:{:$p['category_id']:}
              商品所属最底层栏目名称:{:$p['category']:}

              ......

              其它更多参数见后台"添加商品"中的调用备注。
              -->
          {:/foreach:}

          2、调用商品颜色、规格(多规格商品):
          {:foreach product::data(0,1,0,0,0,1) as $p:}
              <!-- 获取商品颜色 -->
              {:foreach $p['show_skus']['color'] as $sku_color:}
                  <span id="{:$sku_color['id_color']:}">{:$sku_color['val']:}</span>
              {:/foreach:}

              <!-- 获取商品尺寸 -->
              {:foreach $p['show_skus']['size'] as $sku_size:}
                  <span id="{:$sku_size['id_size']:}">{:$sku_size['val']:}</span>
              {:/foreach:}

              <!--
                  注意:如需要使用MLECMS官方提供的规格选择方法 mle.shopping.create_sku() 
                  请为每个规格所属标签加上唯一id(必须)
                  也可使用 product::data() 方法提供的id
                  如上示例的span标签
              -->
          {:/foreach:}

          3、调用商品列表,并获得分页数据实现分页(v5.0):
          {:product::data(0,10,0,0,0,0,0,0,0,1):}
          {:assign var="page_data" value=product::$page_data:}
          <a href="{:$page_data['start_url']:}">首页</a>
          <a href="{:$page_data['first']:}">上一页</a>
          <a href="{:$page_data['next']:}">下一页</a>
          <a href="{:$page_data['end']:}">尾页</a>
           
           
          列表分页及商品内容分页数据调用:
          如果使用了分页(第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'][]:}

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