企业微信服务商
当前位置:首页文档模板语法搜索语法说明

搜索语法说明

更新时间:2019-12-10

一、 搜索模板使用流程

①在模型设置中配置可搜索范围;
②在默认模型搜索模板中编辑搜索代码。

二、搜索页语法

/search                 //搜素表单提交地址
System.getSearchAllow()     //获取被允许搜素的内容
{{ Urlparam['wd'] }}        //搜索关键词
System.setOrder('#模型标识#',['grade':-1,'addtime':-1])        //搜索列表页的排序方式。grade为推荐等级,addtime为添加时间。-1为倒序,1为正序。
System.getSearchListinfo('#模型标识#')       //搜索列表页的数据
System.getSearchPageHtml('#模型标识#',#每页数量#)      //搜索结果的分页
System.emKeyword(value['title'],Urlparam['wd'])     //标题中关键词高亮。若想要简介中的关键词也高亮显示,把'title'替换成'intro'
{{ #字段#['total'] }}     //某个字段的搜素结果数
 
使用案例:
{{ System.setOrder('news',['grade':-1,'addtime':-1])   }}
{% set z = System.getSearchListinfo('news',16) %}
{% for k,v in z['data'] %}
{{v['title']}}
{% endfor %}
 
{%if data['total'] > 16 %}
{{System.getSearchPageHtml('news',16) }}
{%endif%}
 

三、备注

①目前,模型的搜索模板只能在默认模板中进行修改,新增的搜索模板无效;
②属性筛选在模型设置处选中,即可在前台按照属性值进行筛选,特别的,属性不能按照区间进行筛选。

四、可输出的字段

1.普通字段
title        //标题
intro        //简介
coverarr[0]  //封面图
cate         //数组字段,可调取内容包括catename 和 linkurl
{{v['addtime'].toDateTime().format('Y-m-d H:i:s')}}  //发布时间
{{v['grade']}}    // 推荐等级
{{ Tools.formatDetail(v['pcdetail'])['v1'] }} //内容详情字段的调取
2.普通自定义字段
语法:
['extends']['#扩展字段名称#'] //预置模型
['#扩展字段名称#']           //自定义模型
 
使用示例:
//预置模型:
{%set data =System.ListInfo('article') %}
{%for k,v in data['data']%}
{{v['extends']['#扩展字段名称#']}}
{%endfor%}
 
//自定义模型:
{%set data =Custom.getListInfo('xiangmu') %}
{%for k,v in data['data']%}
{{v['#扩展字段名称#']}}
{%endfor%}
3.图片型自定义字段
语法:
['extends']['#扩展字段名称#']['0']     //预置模型,返回第一张图片
['extends']['#扩展字段名称#']['path']  //预置模型,返回全部图片
['#扩展字段名称#']['path']['0']       //自定义模型,返回第一张图片
['#扩展字段名称#']['path']            //自定义模型,返回全部图片
 
使用示例:
//预置模型:
{%set data =System.getListInfo('news') %}
{%for k,v in data['data']%}
  {%for a,b in v['extends']['tp']['path'] %}      
    <img src="{{v['coverarr'][0]}}!/fw/200" ></a>
    {%endfor%}
{%endfor%}
//自定义模型:
{%set z =Custom.getListInfo('xiangmu') %}
{%for k,v in z['data']%}
{%for a,b in v['123']['path'] %}
{{b}}
{%endfor%}
{%endfor%}
4.附件型自定义字段(数组)
语法:
['extends']['#扩展字段名称#']  //预置模型自定义附件字段
['#扩展字段名称#']          //自定义模型自定义附件字段
用法示例:
<div>                                   
     <ul>
            {%for a,b in v['extends']['fj']['fileurl']%}
                       <li>
                              <a href="{{b}}">{{v['extends']['fj']['filename'][k]}}</a>
                       </li>
              {%endfor%}
       </ul>
   </div>
5.视频型自定义字段(数组)
语法:
['extends']['#扩展字段名称#'] //预置模型自定义视频字段
['#扩展字段名称#'] //自定义模型自定义视频字段
预置模型使用示例:
{% for a,b in v['extends']['video']['filename'] %}       //循环filename,下文可用b输出filename
<a href="{{ v['extends']['video']['fileurl'][k] }}">{{ b }}</a>
{% endfor %}
{% for a,b in v['extends']['video']['fileurl'] %}        //循环fileurl,下文可用b输出fileurl
<a href="{{ b }}">{{ v['extends']['video']['filename'][k] }}</a>
{% endfor %}
搜索模板使用示例
以“产品”为例
<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
</head>
<body>
 <div>
        <div >
            <form action="/search" autocomplete="off">      //搜索提交地址,固定
                <button>搜素</button>
                <input type="text" placeholder="{{ Urlparam['wd'] }}" value="{{ Urlparam['wd'] }}" name="wd">     
            </form>
        </div>
    </div>
<div>
            {% set proRes  = System.getSearchListinfo('products') %}
             <div>
                 <div>
                   {% for key,value in proRes ['data'] %}
                     <div><a href="{{ value['linkurl'] }}">{{                   System.emKeyword(value['title'],Urlparam['wd']) }}</a></div>
                   {% endfor %}
                  </div>
 <label>标签:</label>
                {% for a,b in v['tagsArr'] %} {{b['tagname']}} {% endfor %}
          文本:{{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 class="search-count fr">
               <p>找到符合“ <span>{{ Urlparam['wd'] }}</span> ”的{{ proRes ['total'] }}个搜索结果
            </div>
            <div> 
                </div>
            {{System.getSearchPageHtml('products') }}
        </div>
</div>
</body>
</html>