企户动HAL动态数据对象

Html属性语言-HAL(Html Attribute Language)

HAL是一种Html扩展属性语言,用于创建企户动动态企业网站。
HAL使用一套Html标签扩展属性,把动态数据绑定到Html标签中。
只需学习简单的HAL标签语法,无需学习复杂的编程语言,直接使用Html+Css+Javascript来创建动态的企业网站外观。

HAL扩展属性

属性 描述
hal:attr 替换标签属性
hal:text 替换标签内容
hal:each 循环输出标签
hal:if 按条件显示标签
hal:remove 忽略标签
hal:func 定义方法
hal:call 调用方法
hal:element 声明外观元素
hal:area 声明区域
hal:control 绑定搜索元素
hal:stylecss 标明是主题样式表
hal:contentcss 标明是静态内容样式表

-)替换标签属性

hal:attr - 用来替换标签的属性
将某一标签的属性替换成动态数据。可以多个属性一起使用,使用 | 分割
例如a标签的class、href、id 等

格式用法

<a href="#" class="demo">静态数据</a>
<a href="#" class="demo" hal:attr='class articleItem.name'>替换单个属性为动态数据</a>
<a href="#" class="demo" hal:attr='class articleItem.name | href dome.url'>替换多个属性为动态数据</a>

-)替换标签内容

hal:text - 用来替换标签的文本
将某一标签的文本替换成动态数据。

格式用法

<h3>文本内容</h3>
<h3 hal:text='articleItem.name'>将标签h3的文本内容替换成动态数据</h3>
<h3>静态的内容
  <a href="#" hal:text='articleItem.name'>替换标签内的文字内容为动态内容</a>
</h3>

-)循环输出标签

hal:each - 用来循环输出数据
将某类数据按照特定的结构循环输出结果(即历遍集合,循环输出每一条数据)。

格式用法

<ul>
 <hal hal:each="articleItem article.articles"><!--按条件循环输出内容-->
  <li hal:text="articleItem.title">输出的内容</li>
 </hal>
</ul>

-)按条件显示标签

hal:if - 按条件显示标签
按特定条件显示内容,如果条件符合,即显示内容,不符合则显示空白。
if 还支持各种运算符和条件表达式(包括各类对象判断属性),如:
比较运算符:=(等于)、< >(不等于)、< (小于)、< =(小于等于)、>(大于)、>=(大于等于)
逻辑运算符:Not(非)、And(与)、Or(或)
还支持算术运算符 Mod(取模)

格式用法

<div hal:if="article.articles.hasItem">
 <a href="#">如果符合条件我就能显示</a>
</div>

<div hal:if="Not article.articles.hasItem"><!--如果没有数据,则显示以下内容-->
 <a href="#">如果符合条件我就能显示</a>
</div>

<div hal:if="article.articles.hasItem And article.articles.hasMetaTitle"><!--要两个条件一起符合,才会显示以下内容-->
 <a href="#">如果符合条件我就能显示</a>
</div>

<div hal:if="article.articles.hasItem Or article.articles.hasMetaTitle"><!--两个条件符合某一个,则显示以下内容-->
 <a href="#">如果符合条件我就能显示</a>
</div>

<div hal:if="article.index mod 2 = 0"><!--假设这里的article.index为4 mod 2 为 0 即 余数为 0-->
 <a href="#">如果符合条件我就能显示</a>
</div>

<div hal:if="article.index mod 2 > 0"><!--假设这里的article.index为3 mod 2 大于 0 即 余数为 大于0的数-->
 <a href="#">如果符合条件我就能显示</a>
</div>

-)忽略标签

hal:remove - 忽略标签
忽略掉应用这个属性的内容不显示在页面中。就是说企户动不会显示应用这个属性的标签所包含的内容

格式用法

<hal hal:remove="">
 <a href="#">我是绝对不会被显示的</a>
</hal>

-)定义方法

hal:func - 定义方法
一般用在导航中

格式用法

<div hal:element="menu">
  <hal hal:call="renderMenu(menu.main.all)"></hal>
  <hal hal:func="renderMenu(items as menuList)">
   <a href="#">我是导航的内容</a>
  </hal>
</div>

-)调用方法

hal:call - 调用方法
一般用在导航中

格式用法

<div hal:element="menu">
  <hal hal:call="renderMenu(menu.main.all)"></hal> 
  <hal hal:func="renderMenu(items as menuList)">
   <a href="#">我是导航的内容</a>
  </hal>
</div>

-)声明外观元素

hal:element - 声明一个外观
在页面中使用,定义了以后就能使用该外观的参数。
外观定义有logo、menu、lang、positon、search等外观

格式用法

<div hal:element="menu"> 
  <hal hal:call="renderMenu(menu.main.all)"></hal>
  <hal hal:func="renderMenu(items as menuList)">
   <a href="#">我是导航的内容</a>
  </hal>
</div>

-)声明区域

hal:area - 声明一个放置功能模块的区域
声明了区域后,里面就能放置功能模块。
每个页面都至少需要有一个主区域 mainArea
还有特别注意的一点是,hal:area="mainArea"需要使用双引号包住,不然不生效
还需要是一个块级元素,如<div>等

格式用法

<div hal:area="mainArea">
  <p>功能模块</p>
</div>

-)绑定搜索元素

这个扩展属性主要用于绑定与搜索相关的元素
hal:control='SearchBox' -绑定搜索输入框,例如:

<input type="text" value="我是搜索框" hal:control='SearchBox' />

hal:control='SearchButton' -绑定搜索提交按钮,例如:

<button> hal:control='SearchButton'>搜索</button>

显示结果参数具体可参考页面元素中的:搜索

-)标明是主题样式表

hal:stylecss - 标识主题样式表(唯一)
声明一个样式表,主要用于声明更换主题的样式表。

格式用法

<link rel="stylesheet" href="css/theme-default.css" type="text/css" hal:stylecss />

-)标明是静态内容样式表

hal:contentcss - 标识静态内容样式表(唯一)
声明了某个样式表后,如果静态内容的样式相同,就会覆盖默认企户动的样式。
但是还是可以不声明,只要用特殊的方法使样式的权限增加,一样能达到覆盖样式的效果

格式用法

<link rel="stylesheet" href="css/content.css" type="text/css" hal:contentcss />

HAL运算符

iif -按条件返回两个值中的一个

iif(表达式,计算结果为 True 时计算并返回,计算结果为 False 时计算并返回)
格式:iif(条件,正确结果,错误结果)
iif的条件运算请参考 hal:if

示例

hal:attr='class iif(menuItem.isSelected,"active","")'
<!--使用iif替换class属性。如果条件符合,则class名为active,不符合则为空-->

hal:attr='href menuItem.url | title menuItem.title | class iif(menuItem.isLast,"last","")'
<!--使用iif替换class属性。如果条件符合,则class名为last,不符合则为空-->

字符串替换与字符相加

字符串替换,就是使用hal:text将文本内容字符串替换成动态数据

hal:text='div#scrollable "div#scrollable"+Slideshow.ClientID'
<!--使用hal:text将字符串"div#scrollable",变成"div#scrollable"+动态数据-->

hal:text='slider1 "slider"+Slideshow.ClientID | qhd-slidershow-1 "qhd-slidershow-"+Slideshow.ClientID'
<!--使用hal:text将字符串"slider1"和"qhd-slidershow-1",变成"slider"+"动态数据和qhd-slidershow-"+动态数据-->

字符相加,将特定字符串相加动态数据,将两个字符合并成一个动态的字符

hal:attr='class iif(menuItem.isSelected,"active"+menuItem.id,"")'<!--将字符串"active"与动态数据相加-->

HAL外观元素

LOGO

用法:将标签使用 hal:element 声明 logo 外观元素,声明完后,数据则有以下参数能输出。

LOGO对象

对象参数 描述
.url 网站链接地址
.name 网站名称
.hasSlogan 是否有标语
.slogan 网站标语
.hasImage 是否有LOGO图片
.imageUrl LOGO图片链接地址

导航菜单

用法:将标签使用 hal:element 声明 menu 外观元素,声明完后,要使用hal:call和hal:func函数调用菜单,有以下数据参数。

主导航

hal:call="renderMenu(menu.main.all)" 调用函数renderMenu,参数menu.main.all为所有主菜单项

hal:func="renderMenu(menus as MenuList)" 定义renderMenu函数

参数 描述
menu.main.all 网站链接地址
menu.main.hasItem 是否包含有菜单项
menu.main.column(3) 是否有标语

子导航

参数 描述
menu.cont 与当前选中菜单相关的上下文菜单,如果当前激活菜单项有子菜单就列出所有子菜单
menu.cont.hasTopItem 当前激活菜单项是否包含有顶项菜单
menu.cont.topItem 顶项菜单
.cont.topItem.name 名称
.cont.topItem.hasChildren 是否有子菜单
.cont.topItem.children 顶项菜单的所有子菜单
.cont.topItem.children.column(3) 以3列为一行列出顶项菜单的所有子菜单
.cont.topItem.xxx (xxx 包含导航对象下的所有属性)

辅助导航

参数 描述
menu.aid1 辅助导航菜单1
menu.aid1.hasItem 是否包含有菜单项
menu.aid1.column(3) 以3列为一行列出所有菜单项
menu.aid2 辅助导航菜单2
menu.aid2.hasItem 是否包含有菜单项
menu.aid2.column(3) 以3列为一行列出所有菜单项
menu.aid3 辅助导航菜单3
menu.aid3.hasItem 是否包含有菜单项
menu.aid3.column(3) 以3列为一行列出所有菜单项
menu.aid4 辅助导航菜单4
menu.aid4.hasItem 是否包含有菜单项
menu.aid4.column(3) 以3列为一行列出所有菜单项

导航对象

对象参数 描述
.name 名称
.hasSubName 是否有子名称
.subName 子名称
.hasTitle 是否有标题
.title 标题
.hasUrl 是否有链接地址
.url 链接地址
.level 层级
.index 序列号
.isFirst 是否是同级菜单的第一项
.isLast 是否是同级菜单的最后一项
.isSelected 是否被选中激活
.isSelectedChild 是否有子菜单项被选中激活
.hasImage 菜单是否有图标
.imageUrl 图标链接地址
.isNewWindow 是否要新开窗口
.isDivider 是否有分隔符
.isGroup 是否有组
.hasChildren 是否有子菜单
.children 子菜单
.children.column(3) 以3列为一行列出所有子菜单项

网站语言

用法:将标签使用 hal:element 声明 lang 外观元素,声明完后,数据则有以下参数能输出

当前网站语言

参数 描述
lang.currentLang 当前使用的语言
lang.currentLang.name 当前使用的语言名称(包含所有语言对象)

语言集合

集合参数 描述
lang.langs 语言集合(集合一般用于循环输出)
lang.langs.hasItem 是否包含有语言项
lang.langs.column(3) 以3列为一行列出所有语言项

语言对象

对象参数 描述
.url 转换语言连接地址
.name 语言名称
.code 语言编码
.hasTitle 是否有标题
.title 标题
.hasIcon 是否有图标
.iconUrl 图标链接地址
.isSelected 是否被选中激活
.isFirst 是否是第一项
.isLast 是否是最后一项

位置导航

一般表现结构:主页>栏目页>文章页面

位置导航即我们所说的面包屑导航,面包屑导航的作用是告诉访问者他们目前在网站中的位置以及如何返回。

用法:将标签使用 hal:element 声明 position 外观元素,声明完后,数据则有以下参数能输出。

位置导航集合

参数 描述
position.menu 位置导航菜单集合(集合一般用于循环输出)
position.menu.hasItem 是否包含导航菜单项

位置导航对象

对象参数 描述
.name 菜单名称
.title 菜单标题
.hasUrl 是否有链接地址
.url 链接地址
.isFirst 是否是第一项
.isLast 是否最后一个

完整例子(只看对应用法与参数,页面结构能随意定制)

<div class="breadcrumbs" hal:element="position" hal:if="position.menu.hasItem"><!-- 声明position元素,判断是否有内容 -->
  <a href="/" class="breadcrumbs-home">首页</a><i> > </i><!-- 首页是固定不变的,所以不用循环,已静态形式呈现 -->
  <hal hal:each="menuItem position.menu"><!-- 循环输出位置导航内容 -->
    <a href="#" hal:if="not menuItem.isLast" hal:attr='href iif(menuItem.hasUrl,menuItem.url,"#") | title menuItem.title' hal:text="menuItem.name" >面包的内容</a> 
    <!-- not menuItem.isLast - 如果这项不是最后一个,则输出以下内容。 -->
    <i hal:if="not menuItem.isLast"> > </i> 
  <span hal:if="menuItem.isLast" hal:text="menuItem.name">当前位置</span><!-- menuItem.isLast - 如果是最后一个,则输出这个内容 -->
  </hal>
</div>

搜索

用法:先将标签使用 hal:element 声明search 外观元素
然后使用hal:control扩展属性将搜索框与搜索按钮绑定
hal:control='SearchBox' -绑定搜索输入框,例如:

<input type="text" value="我是搜索框" hal:control='SearchBox' />

hal:control='SearchButton' -绑定搜索提交按钮,例如:

<button hal:control='SearchButton'>搜索</button>

完整的搜索区域代码

<div hal:element='search' class="form-style">
  <fieldset>
  <legend>搜索区域</legend>
搜索框:<input type="text" hal:control='SearchBox'  />
<button type="submint" hal:control='SearchButton' >搜索</button>
</fieldset>
</div>

搜索集合

参数 描述
search.queryWord 搜索的关键词(用户搜索的关键字是什么)
search.totalResult 搜索结果总数目(用户搜索的结果又多少个)
search.results 所有搜索结果的集合(集合一般用于循环输出)
search.results.hasItem 是否有搜索结果项
search.results.column(3) 以3列为一行列出所有搜索结果

搜索结果对象

参数 描述
.title 标题
.hasDescription 是否有描述
.description 描述
.url 结果页面链接
.index 序列号
.isFirst 是否是第一项
.isLast 是否是最后一项

搜索结果分页对象

参数 描述
search.results.paging.hasPages 是否有分页
search.results.paging.isFirstPage 是否是第一页
search.results.paging.firstPage.xxx 第一页.xxx 包含 分页对象下的所有属性
search.results.paging.isLastPage 是否是最后一页
search.results.paging.lastPage.xxx 最后一页.xxx 包含 分页对象下的所有属性
search.results.paging.hasNextPage 是否有下一页
search.results.paging.nextPage.xxx 下一页.xxx 包含分页对象下的所有属性
search.results.paging.hasPrevPage 是否有上一页
search.results.paging.prevPage.xxx 上一页.xxx 包含分页对象下的所有属性
search.results.paging.pageIndex 当前页码
search.results.paging.pageSize 分页数
search.results.paging.totalPages 页数
search.results.paging.totalRecords 记录数
分页对象
.index 页码
.title 标题
.url 链接地址
.isSelected 是否选中

额外属性

能在页面中全局使用

参数 描述
SkinPath 外观的相对路径
PageName 页面名称
PageTitle 页面标题
IsToolbarMax 是否是最大化的管理工具栏
IsToolbarMin 是否是最小化的管理工具栏
LangResx.ResxText 多语言的固定文字

用法:
<a href="#" hal:text='LangResx.ResxText("zh-CN=查看详情","zh-HK=查看詳情","en-US=View Details")'>查看详情</a>

HAL容器外观元素

额外属性

参数 描述
SkinPath 外观的相对路径

容器对象

对象参数 描述
isDisplayDivider 是否显示分隔符
isDisplayTitle 是否显示标题栏
hasTitle 是否有标题
Title 标题
hasSubTitle 是否有子标题
subTitle 子标题
hasImage 是否有图片
ImageUrl 图片的链接地址
paging 页面分页跳转,显示和跳转到上一个和下一个页面
.HasItem 是否有分页
.hasPrev 是否有上一页
.prevName 上一页名称
.prevTitle 上一页标题
.prevUrl 上一页链接地址
.hasNext 是否有下一页
.nextName 下一页名称
.nextTitle 下一页标题
.nextUrl 下一页链接
more 更多链接,显示和跳转到显示更多信息的页面
.hasMore 是否显示和跳转到更多链接页面
.name 名称
.hasTitle 是否有标题
.title 标题
.url 链接地址

链接模块

额外属性

参数 描述
link.moduleid 模块编号
skinPath 外观的相对路径

链接集合

参数 描述
link.links 所有的链接
link.links.hasItem 是否包含有链接
link.links.column(3) 以3列为一行列出所有链接

链接对象

对象参数 描述
.id 编号
.name 名称
.hasSummary 是否有简介
.Summary 简介
.hasUrl 是否有链接地址
.url 链接地址
.hasImage 是否有图标
.ImageUrl 图标链接地址
.isFirst 是否是第一项
.isLast 是否是最后一项
.isNewWindow 是否要新开窗口

广告轮换模块

额外属性

参数 描述
slideshow.moduleid 模块编号
skinPath 外观的相对路径

广告轮换集合

参数 描述
slideshow.slideshows 所有的广告
slideshow.slideshows.hasItem 是否包含有广告
slideshow.slideshows.column(3) 以3列为一行列出所有广告

广告轮换对象

对象参数 描述
.id 编号
.name 名称
.hasTitle 是否有标题
.title 标题
.hasUrl 是否有链接地址
.url 链接地址
.hasSummary 是否有简介
.summary 简介
.hasFeaturedImage 是否有图片
.featuredImageUrl 图片的链接地址
.isNewWindow 是否要新开窗口
.more 更多链接,显示和跳转到显示更多信息的页面
.more.hasMore 是否显示和跳转到更多链接页面
.more.name 名称
.more.title 标题
.more.url 链接地址

标签模块

额外属性

参数 描述
tab.ModuleID 模块编号
skinPath 外观的相对路径

标签集合

参数 描述
tab.tabs 所有的选项卡
tab.tabs.hasItem 是否包含有选项卡

标签对象

对象参数 描述
.id 编号
.name 编号
.hasTitle 是否有标题
.title 标题
.hasIcon 是否有图标
.iconUrl 图标的链接地址

文章模块

分类目录

分类目录集合

参数 描述
category.all 所有分类
category.all.hasItem 是否包含有分类

默认显示分类

参数 描述
category.featuredCategory 默认显示分类
category.featuredCategory.categories 默认分类的相关所有分类
category.featuredCategory.categories.hasItem 是否包含有分类
category.featuredCategory.xxx 默认分类的xxx,分类目录对象下的所有参数

当前选中的分类

参数 描述
category.currentCategory 当前选中的分类
category.currentCategory.xxx 当前选中的分类的xxx,分类目录对象下的所有参数

分类目录对象

对象参数 描述
.id 编号
.name 名称
.hasSummary 是否有简介
.summary 简介
.hasDesc 是否有描述
.desc 描述
.hasUrl 是否有链接地址
.Url 链接地址
.hasIcon 是否有图标
.iconUrl 图标链接地址
.hasImage 是否有图片
.ImageUrl 图片链接地址
.level 层级
.index 序列号
.isFirst 是否是同级分类的第一项
.isLast 是否是同级分类的最后一项
.isSelected 是否被选中激活
.isSelectedChild 是否有子分类被选中激活
.metaTitle 页面的标题(搜索引擎优化)
.hasMetaTitle 是否有页面的标题
.hasMetaKeywords 是否有页面的关键字(搜索引擎优化)
.metaKeywords 页面的关键字(搜索引擎优化)
.hasMetaDesc 是否有页面的描述(搜索引擎优化)
.metaDesc 页面的描述(搜索引擎优化)
.hasChildren 是否有子分类
.children 子分类

文章列表

带分页的多篇文章显示列表

额外属性

参数 描述
article.isDisplayCurrentCategory 是否显示分类
article.isDisplayCurrentCategoryChild 是否显示分类的子分类
article.isFixCurrentCategoryChild 是否固定子分类

文章列表当前分类

参数 描述
article.currentCategory 是否显示分类
article.currentCategory.name 是否显示分类的子分类
article.currentCategory.hasChildren 是否固定子分类
article.currnetCategory.children 是否固定子分类
article.currnetCategory.xxx 当前选中的分类的xxx,分类目录对象下的所有参数

文章列表集合

参数 描述
article.articles 列表中所有的文章
article.articles.hasItem 列表中是否包含有文章
article.articles.column(3) 以3列为一行列出所有文章

文章列表分页集合

参数 描述
article.articles.paging.pages 所有分页项
article.articles.paging.hasPages 是否有分页

文章列表分页对象

对象参数 描述
article.articles.paging.isFirstPage 是否是第一页
article.articles.paging.firstPage.xxx 第一页.xxx 包含 分页对象下的所有属性
article.articles.paging.isLastPage 是否是最后一页
article.articles.paging.lastPage.xxx 最后一页.xxx 包含 分页对象下的所有属性
article.articles.paging.hasNextPage 是否有下一页
article.articles.paging.nextPage.xxx 下一页.xxx 包含分页对象下的所有属性
article.articles.paging.hasPrevPage 是否有上一页
article.articles.paging.prevPage.xxx 上一页.xxx 包含分页对象下的所有属性
article.articles.paging.pageIndex 当前页码
article.articles.paging.pageSize 分页数
article.articles.paging.totalPages 页数
article.articles.paging.totalRecords 记录数
分页对象
.index 页码
.title 标题
.url 链接地址
.isSelected 是否选中

文章列表对象

包含所有文章详情对象

文章集合

无分页,显示一组文章

文章集合的集合

参数 描述
article.articles 集合中所有的文章
article.articles.hasItem 是否包含有文章
article.articles.column(3) 以3列为一行列出所有文章

文章集合的对象

包含所有文章详情对象

文章详情

文章详情对象

对象参数 描述
.id 编号
.title 标题
.hasSummary 是否有简介
.summary 简介
.body 正文
.url 链接地址
.hasFeaturedImage 是否有封面图
.featuredImage.ImageUrl 封面图
.hasFeaturedMedia 是否有封面媒体
.featuredMedia 封面媒体,所有属性参照 媒体对象
.author 作者
.publishedDate 发布日期
.hasMetaTitle 是否有页面的标题 (搜索引擎优化)
.metaTitle 页面的标题(搜索引擎优化)
.hasMetaKeywords 是否有页面的关键字(搜索引擎优化)
.metaKeywords 页面的关键字 (搜索引擎优化)
.hasMetaDesc 是否有页面的描述(搜索引擎优化)
.metaDesc 页面的描述(搜索引擎优化)
.index 序列号
.isFirst 是否是第一项
.isLast 是否是最后一项
.hasDefaultCategory 是否有默认分类
.defaultCategory 文章默认分类
.defaultCategory.name 文章默认分类的名称
.defaultCategory.summary 文章默认分类的简介
.defaultCategory.xxx 文章默认分类的xxx,xxx调用文章分类目录对象,文章分类目录对象
.medias 媒体文件,所有属性参照 媒体对象
.medias.hasItem 是否有媒体
.medias.images 图片媒体
.id 图片编号
.image 一张图片
.image.name 图片名称
.image.hasAlt 是否替换图片文本
.image.alt 替换图片文本
.image.hasCaption 是否有图片标题
.image.caption 图片简介
.image.hasImage 是否有图片
.image.imageUrl 图片链接地址
.medias.videos 视频媒体
.id 编号
.name 名称
.hasCaption 是否有描述
.caption 描述
.hasImage 是否有图片
.imageUrl 图片链接
.hasUrl 是否有链接
.url 视频链接
.urlType 判断来自哪里(如来自,优酷,新浪等)
.hasPlayer 判断是否有播放器
.medias.files 文件媒体
.id 编号
.name 名称
.hasCaption 是否有描述
.caption 描述
.hasImage 是否有图片
.imageUrl 图片地址
.isDownloadable 是否能下载
.hasUrl 是否有链接地址
.url 链接地址
媒体对象
.isImage 是否图片媒体
.isVideo 是否视频媒体
.isFile 是否文件媒体
.Index 序列号
.name 名称
.hasAlt 是否有简介
.Alt 简介
.hasCaption 是否有描述
.caption 描述
.hasImage 是否有图片
.imageUrl 图片地址
.hasUrl 是否有链接地址
.url 链接地址

产品模块

分类目录

分类目录集合

参数 描述
category.all 所有分类
category.all.hasItem 是否包含有分类

默认显示分类

参数 描述
category.featuredCategory 默认显示分类
category.featuredCategory.categories 默认分类的相关所有分类
category.featuredCategory.categories.hasItem 是否包含有分类
category.featuredCategory.xxx 默认分类的xxx,分类目录对象下的所有参数

当前选中的分类

参数 描述
category.currentCategory 当前选中的分类
category.currentCategory.xxx 当前选中的分类的xxx,分类目录对象下的所有参数

分类目录对象

对象参数 描述
.id 编号
.name 名称
.hasSummary 是否有简介
.summary 简介
.hasDesc 是否有描述
.desc 描述
.hasUrl 是否有链接地址
.Url 链接地址
.hasIcon 是否有图标
.iconUrl 图标链接地址
.hasImage 是否有图片
.ImageUrl 图片链接地址
.level 层级
.index 序列号
.isFirst 是否是同级分类的第一项
.isLast 是否是同级分类的最后一项
.isSelected 是否被选中激活
.isSelectedChild 是否有子分类被选中激活
.metaTitle 页面的标题(搜索引擎优化)
.hasMetaTitle 是否有页面的标题
.hasMetaKeywords 是否有页面的关键字(搜索引擎优化)
.metaKeywords 页面的关键字(搜索引擎优化)
.hasMetaDesc 是否有页面的描述(搜索引擎优化)
.metaDesc 页面的描述(搜索引擎优化)
.hasChildren 是否有子分类
.children 子分类

产品列表

产品列表当前分类

参数 描述
catalog.isDisplayCategory 是否显示分类
catalog.isDisplayCategoryChild 是否显示分类的子分类

产品列表当前选中的分类

参数 描述
catalog.current.name 当前选中的分类的名称
catalog.current.xxx 当前选中的分类的xxx,分类目录对象下的所有参数

产品列表集合

参数 描述
catalog.products 列表中所有的产品
catalog.products.hasItem 列表中是否含有产品
catalog.products.column(3) 以3列为一行列出所有产品

产品列表分页集合

参数 描述
catalog.products.paging.pages 所有分页项
catalog.products.paging.hasPages 是否有分页

文章列表分页对象

对象参数 描述
catalog.products.paging.isFirstPage 是否是第一页
catalog.products.paging.firstPage.xxx 第一页.xxx 包含 分页对象下的所有属性
catalog.products.paging.isLastPage 是否是最后一页
catalog.products.paging.lastPage.xxx 最后一页.xxx 包含 分页对象下的所有属性
catalog.products.paging.hasNextPage 是否有下一页
catalog.products.paging.nextPage.xxx 下一页.xxx 包含分页对象下的所有属性
catalog.products.paging.hasPrevPage 是否有上一页
catalog.products.paging.prevPage.xxx 上一页.xxx 包含分页对象下的所有属性
catalog.products.paging.pageIndex 当前页码
catalog.products.paging.pageSize 分页数
catalog.products.paging.totalPages 页数
catalog.products.paging.totalRecords 记录数
分页对象
.index 页码
.title 标题
.url 链接地址
.isSelected 是否选中

产品列表对象

包含所有产品详情对象

产品集合

无分页,显示一组产品

产品集合的集合

参数 描述
catalog.products 集合中所有的产品
catalog.products.hasItem 是否包含有产品
catalog.products.column(3) 以3列为一行列出所有产品

产品集合的对象

包含所有产品详情对象

产品详情

产品详情对象

对象参数 描述
.name 标题
.hasSummary 是否有简介
.summary 简介
.desc 正文
.price 价格
.sku 编号
.url 链接地址
.hasFeaturedImage 是否有封面图
.featuredImage.ImageUrl 封面图
.hasFeaturedMedia 是否有封面媒体
.featuredMedia 封面媒体
.publishedDate 发布日期
.hasMetaTitle 是否有页面的标题 (搜索引擎优化)
.metaTitle 页面的标题(搜索引擎优化)
.hasMetaKeywords 是否有页面的关键字(搜索引擎优化)
.metaKeywords 页面的关键字 (搜索引擎优化)
.hasMetaDesc 是否有页面的描述(搜索引擎优化)
.metaDesc 页面的描述(搜索引擎优化)
.index 序列号
.isFirst 是否是第一项
.isLast 是否是最后一项
.hasDefaultCategory 产品默认分类
.defaultCategory 产品默认分类
.defaultCategory.name 产品默认分类的名称
.defaultCategory.summary 产品默认分类的简介
.defaultCategory.xxx 产品默认分类的xxx,xxx调用产品分类目录对象,产品分类目录对象
.isLast 是否是最后一项
.hasDescs 是否有多个描述
.Descs 产品描述
.name 产品描述名称
.body 产品描述内容
.specs 产品规格
.name 产品规格名称
.value 产品规格参数
.hasSpecGroups 是否有产品规格组
.SpecGroups 产品规格组
.name 产品规格名称
.specs 产品规格组内规格
.name 产品规格组内规格名称
.value 产品规格组内规格参数
.medias 媒体文件
.medias.hasItem 是否有媒体
.medias.images 图片媒体
.id 图片编号
.image 一张图片
.image.name 图片名称
.image.hasAlt 是否替换图片文本
.image.alt 替换图片文本
.image.hasCaption 是否有图片标题
.image.caption 图片简介
.image.hasImage 是否有图片
.image.imageUrl 图片链接地址
.medias.videos 视频媒体
.id 编号
.name 名称
.hasCaption 是否有描述
.caption 描述
.hasImage 是否有图片
.imageUrl 图片链接
.hasUrl 是否有链接
.url 视频链接
.urlType 判断来自哪里(如来自,优酷,新浪等)
.hasPlayer 判断是否有播放器
.medias.files 文件媒体
.id 编号
.name 名称
.hasCaption 是否有描述
.caption 描述
.hasImage 是否有图片
.imageUrl 图片地址
.isDownloadable 是否能下载
.hasUrl 是否有链接地址
.url 链接地址

产品过滤

产品过滤对象

参数 描述
filter.selectedPrice 当前选中的价格
filter.hasSelectedPrice 当前是否有选中的价格
filter.url 表示过滤模块指向的页面(默认为当前,可在选定列表页设置)
filter.hasSpecs 是否有规格
filter.hasSpecGroups 是否有规格组
filter.hasPrices 是否有价格区间

产品过滤模块中的规格项的组的集合

参数 描述
filter.specGroups 过滤模块中的规格项的组
.name 组名称
.hasSpecs 判断是否有规格
.spec 组中的规格

产品过滤模块中的规格项的集合

参数 描述
filter.specs 过滤模块中的规格项
.name 组名称
.url 自动生成的规格URL
.hasOptions 是否有规格选项(值)
.options 规格选项(规格的值)
filterItem.options 过滤模块中的规格的值
.name 规格值名称
.url 规格值自动生成的url
.value 规格选项的id (可以根据这个用js生成url)
.isSelected 判断是否被选中

产品过滤模块中的规格的集合

参数 描述
filter.prices 过滤模块中的规格
.from 价格区间第一个值(即'从')
.to 价格区间第二个值(即'到')
.isSelected 判断该价格区间是否有选中
.Hasto 判断是否有第二个值
.name 系统默认生成的名称