当前位置:首页文档模板语法模型相关特殊语法

模型相关特殊语法

更新时间:2020-05-26
1.获取后台开启的模型
 
用于判断模型后台是否打开
 
{% set allmodel = Tools.getallmodel() %}
{% if allmodel['#模型标识#'] %}
{% for k1,v1 in allmodel %}
模型名称:{{ v1['modelname'] }} 
模型标示:{{ v1['model'] }} 
模型类型:{{ v1['modeltype'] }} 
{% endfor %}
{% endif %}
 
 
2.筛选语法
功能说明:一般用在列表页,筛选指定范围的模型详情。筛选方式包括:字段筛选(文本和下拉框类型的自定义字段)、属性筛选、分类筛选。
 
参数说明
offset是从第几个开始,一般是“0”
limit是共展示多少条。

预置模型
{{ System.setCustomFilter('#模型标识#', 'cateid', System.params["Urlparam"]["cateid"]) }} //添加分类筛选
{% System.setCustomFilter('#模型标识#', '#字段名称#', '#keywords#') %} //keywords是需要筛选的字段值
{% set z = System.getCustomData('#模型标识#', '#offset#', '#limit#',1) %}//1是固定值,不能更改
{% for k, v in z['data'] %}
{{ v['title'] }}
{% endfor %}

自定义模型
{{ Custom.setCustomFilter('#模型标识#', 'cateid', Custom.params["Urlparam"]["id"]) }} //添加分类筛选
{% Custom.setCustomFilter('#模型标识#', '#字段名称#', '#keywords#') %}//keywords是需要筛选的字段值
{% set z = Custom.getCustomData('#模型标识#', '#offset#', '#limit#',1) %}//1是固定值,不能更改
{% for k, v in z['data']['data'] %}
{{ v['title'] }}
{% endfor %}

 
 
示例:
1、进行字段判断
{% set standard = "" %} //standard是自定义的变量名称,最好以字段名命名
{% if Custom.params["Urlparam"]['#字段名称#'] is defined %}  //判断是否存在相应的字段值
{% set standard = Custom.params["Urlparam"]['#字段名称#'] %} //把字段值赋给变量
{% endif %}

2、添加筛选链接

字段筛选(字段只能在自定义列表页循环输出,其他页面目前无法进行循环输出,需要写死)
<a href="{{ Custom.urlMontage('add', '#变量名#', '#属性值#' ) }}" class="list {% if #变量名# === '#属性值#' %}active{%endif%}">#属性值#</a>
如:
<a href="{{ Custom.urlMontage('add', 'standard', '国标GB' ) }}" class="list {% if standard === '国标GB' %}active{%endif%}">国标GB</a>

分类筛选(可循环输出)
{% set paramStr = Tools.getCurHttpQuery(['#字段名称#']) %}
{% set aaa = Custom.getAllCateMultiLevel('#模型标识#')   %}   
{% set sortData = Custom.arraySequence('#模型标识#',aaa, 'displayorder') %} 
{%for k,v in sortData%}
<a href="{{v['linkurl']}}{% if (paramStr) %}?{{ paramStr }}{% endif %}" class="list {% if d['catename'] === v['catename'] %}active{%endif%}">{{v['catename']}}</a>
{%endfor%}

属性筛选
{%set type=Product.urlFilter["property[#属性名称#]"] %}
<a href="'{{ Product.urlMontage("add", "property[#属性名称#]", "#属性值#") }}" class="{%if type=="#属性值#"%} active {%endif%}">#属性值#</a>

3、获取筛选结果
{{ Custom.setCustomFilter('#模型标识#', 'cateid', Custom.params["Urlparam"]["id"]) }}
{% if standard%}
{{ Custom.setCustomFilter('#模型标识#', '#字段名称#', standard) }}
{% endif %}
{% set z = Custom.getCustomData('#模型标识#'', 0, 12, 1) %}
共搜索到 {{z['total']}} 条结果
{% for k, v in z['data'] %}
#内容#
{%endfor%}
 
3.顶踩功能
顶踩功能的适用范围:模型详情页、模型列表页、自定义列表页
3.1语法说明
提交地址: /addattitude.html
提交方式:post
其他说明:同一个ip对同一个内容一天内只能支持或反对一次
使用示例:(顶踩在详情中使用)
 <form action="/addattitude.html" method="post">
 <input type="hidden" name="id" value="{{Pageinfo['_id']}}"><br>
          <br>
 <input type="hidden" name="moduletype" value="{{globalviewdata['model']}}">
 支持:<input name="attitude" value="1"> 
 <button>btn </button>    
 </form>
代码说明:
id:                          //当前信息的 id
moduletype           //模型类型
attitude: 支持 or 反对 (支持 1 反对 0)        //只能支持1次或者踩一次
 
3.2顶踩信息调取
功能说明:获取某条信息的顶踩数据
预置模型:System.getAttitudeById('模型标识', Pageinfo['_id'])
自定义模型:Custom.getAttitudeById('模型标识', Pageinfo['_id'])
使用示例:
{{% set a = System.getAttitudeById('news', Pageinfo['_id']) %}}
支持:{{ a['pick'] }}
反对:{{ a['diss'] }}