动态片段语法说明
更新时间:2019-12-09
一、动态片段生成说明
(1)创建动态片段动需要先选择数据源
(2)然后选择相应的筛选条件、排序规则、数据调取规则和片段模板
(3)生成动态片段后,在调用动态片段的时候,会自动向动态片段模板中注册一个名称为data的变量
(4)data变量中包含动态片段所选择数据源的数据
二、动态片段字段
1.常用字段
title //标题
intro //简介
tagsArr //标签,数组字段
{{ v['addtime'].toDateTime().format('Y-m-d') }} //添加时间
{{ Tools.formatDetail(v['pcdetail'])['v1'] }} //调取详情内容
{{System.getVisitNum('#模型标识#',v['_id'])}} //系统模型浏览量
{{Custom.getVisitNum('#模型标识#',v['_id'])}} //预置模型浏览量
2.2自定义字段
①普通自定义字段
['extends']['#扩展字段名称#'] //预置模型
['#扩展字段名称#'] //自定义模型
使用示例:
//预置模型:
{%for k,v in data%}
{{v['extends']['#扩展字段名称#']}}
{%endfor%}
//自定义模型:
{%for k,v in data%}
{{v['#扩展字段名称#']}}
{%endfor%}
②图片型自定义字段
['extends']['#扩展字段名称#']['0'] //预置模型,返回第一张图片
['extends']['#扩展字段名称#']['path'] //预置模型,返回全部图片(数组)
['#扩展字段名称#']['path']['0'] //自定义模型,返回第一张图片
['#扩展字段名称#']['path'] //自定义模型,返回全部图片(数组)
使用示例:
//预置模型:
{% for k,v in data %}
{%for a,b in v['extends']['#扩展字段名称#']['path'] %}
<img src="{{v['coverarr'][0]}}!/fw/200" ></a>
{%endfor%}
{%endfor%}
//自定义模型:
{%for k,v in data%}
{%for a,b in v['123']['path'] %}
{{b}}
{%endfor%}
{%endfor%}
③多级联动型自定义字段
方法1:返回值 “1级内容/2级内容/3级内容”
{{System.transDropdown(v['extends']['#扩展字段名称#'])}} //预置模型
{{Custom.transDropdown(v['#扩展字段名称#'])}} //自定义模型
方法2:返回单级值(暂时只有预置模型有,且模型标识没有更新)
{%set a =News.transDropdown(Pageinfo['extends']['zidingxia'],99)%}
{%for k,v in a%}
{{v}}
{%endfor%}
④附件型自定义字段(数组)
['extends']['#扩展字段名称#'] //预置模型自定义附件字段
['#扩展字段名称#'] //自定义模型自定义附件字段
用法示例:
{%for a,b in v['extends']['fj']['fileurl']%}
<a href="{{b}}">{{v['extends']['fj']['filename'][k]}}</a>
{%endfor%}
⑤视频型自定义字段(数组)
['extends']['#扩展字段名称#'] //预置模型自定义视频字段
['#扩展字段名称#'] //自定义模型自定义视频字段
预置模型使用示例:
{% for a,b in v['extends']['video']['filename'] %} //循环输出视频名称
<a href="{{ v['extends']['video']['fileurl'][k] }}">{{ b }}</a>
{% endfor %}
或
{% for a,b in v['extends']['video']['fileurl'] %} //循环输出视频链接
<a href="{{ b }}">{{ v['extends']['video']['filename'][k] }}</a>
{% endfor %}
2.3全部可调用字段使用示例
{% if data is not empty %}
<div >
<div >
{%for k , v in data%}
<div >
{%if v['coverarr'] is not empty%}
<div >
<a href="{{v['linkurl']}}"><img src="{{v['coverarr'][0]}}!/fw/200" alt="{{v['title']}}"></a>
</div>
{%endif%}
<div>
<div ><a href="{{v['linkurl']}}">{{v['title']}}</a></div>
<p>{{v['addtime'].toDateTime().format('Y/m/d')}}</p>
<p >{{v['intro']}}</p>
浏览量:{{System.getVisitNum('#模型标识#',v['_id'])}}
标签:{% for a,b in v['tagsArr'] %} {{b['tagname']}} {% endfor %}
详情:{{ Tools.formatDetail(v['pcdetail'])['v1'] }}
文本:{{v['extends']['zz']}} <br>
编辑器:{{v['extends']['bjq']}} <br>
下拉框:{{v['extends']['xlk']}} <br>
图片:
{%for a,b in v['extends']['tp']['path'] %}
<img src="{{v['coverarr'][0]}}!/fw/200" ></a>
{%endfor%}
<br>
附件:
<div>
<ul>
{%for a,b in v['extends']['fj']['fileurl']%}
<li>
<a href="{{b}}">{{v['extends']['fj']['filename'][k]}}</a>
</li>
{%endfor%}
</ul>
</div>
<br>
多级联动:{{System.transDropdown(v['extends']['djld'])}}<br>
视频:
{% for a,b in v['extends']['sp']['fileurl'] %}
<a href="{{ b }}">{{ v['extends']['sp']['filename'][k] }}</a>
{% endfor %}
</div>
</div>
{% endfor %}
</div>
</div>
{% endif %}
2.4片段引用说明
在新页面、模板等时,可以方便地引用片段到当前编辑内容中。在前台展示的时候服务器会解析该行代码,输出片段本身的html模板内容和数据.
{# 动态片段开始:name #} {{ Materiel.id_591117915b6ee4039a452502 }} {# 动态片段结束:name #}