模型詳情頁語法說明
更新時間:2019-12-06
一、模型說明
五星云站的模型分為預(yù)置模型和自定義模型兩種。預(yù)置模型為系統(tǒng)模型,自定義模型是復(fù)制預(yù)置模型添加的。
模型詳情的模板在五星云站后臺【模板-模板列表-詳情模板】處添加。添加后可在編輯模型詳情時選擇使用。
二、模型標(biāo)識說明
模型標(biāo)識是用來識別模型的特有標(biāo)記,在進(jìn)行模型數(shù)據(jù)內(nèi)容輸出時需調(diào)用模型標(biāo)識才能正確的調(diào)取數(shù)據(jù)。系統(tǒng)中預(yù)置模型的標(biāo)識如下:
模型名稱
|
模型標(biāo)識
|
模型名稱
|
模型標(biāo)識
|
|
產(chǎn)品
|
products
|
圖庫
|
album
|
|
新聞
|
news
|
圖片
|
pic
|
|
文章
|
article
|
專題
|
zt
|
|
配件
|
parts
|
視頻
|
video
|
|
下載
|
download
|
服務(wù)
|
reserve
|
|
問答
|
faq
|
渠道范圍
|
channel
|
|
招聘
|
job
|
渠道詳情
|
channeld
|
|
三維展廳
|
exhibition
|
三維模型文件
|
exhibitiond
|
三、volt模板引擎語法
四、模型詳情通用語法
1.通用字段
1.1通用普通字段調(diào)用方式
{{Pageinfo['#字段名稱#']}}
詳細(xì)字段如下:
title //標(biāo)題
intro //簡介
addtime //發(fā)布時間
{{Pageinfo['cate']['catename ']}} //當(dāng)前詳情所屬分類的名稱
{{Pageinfo['cate']['linkurl']}} //當(dāng)前詳情所屬分類的url
detailv2 //內(nèi)容詳情
grade //推薦等級
使用示例
<p>模型詳情標(biāo)題: {{Pageinfo['title']}} </p>
<p>簡介: {{Pageinfo['intro']}} </p>
<p>發(fā)布時間: {{ Tools.formatDate(d['addtime'],'d M Y') }}//可調(diào)換年月日的展示順序,注意字母的大小寫不能錯誤
{% for k,v in Pageinfo['detailv2'] %} //內(nèi)容詳情,若有多個編輯器在['detailv2']后添加0,1……數(shù)字編號,可分別調(diào)取編輯中的內(nèi)容
<li>{{ v['title'] }}</li> //詳情標(biāo)題
<p>詳情內(nèi)容 t: </p> {{ v['content'] }} //
{% endfor %}
詳
情內(nèi)容所屬分類及分類鏈接:
一級分類:
{{ Pageinfo['catenav']['cate1']['catename'] }} //一級分類名稱
{{ Pageinfo['catenav']['cate1']['linkurl'] }} //一級分類鏈接
二級分類:
{{ Pageinfo['catenav']['cate2']['catename'] }} //二級分類名稱
{{ Pageinfo['catenav']['cate2']['linkurl'] }} //二級分類鏈接
三級分類:
{{ Pageinfo['catenav']['cate3']['catename'] }} //三級分類名稱
{{ Pageinfo['catenav']['cate3']['linkurl'] }} //三級分類鏈接
SEO信息
{{ Pageinfo['pageseo']['title'] }}
|
--SEO標(biāo)題
|
{{ Pageinfo['pageseo']['keywords'] }}
|
--SEO關(guān)鍵詞
|
{{ Pageinfo['pageseo']['description'] }}
|
--SEO描述
|
1.2通用數(shù)組字段調(diào)用方式
① tagsformat //標(biāo)簽
使用示例:
{%for k,v in Pageinfo['tagsformat']%}
<a href="{{ v['linkurl'] }}">{{ v['tagname'] }}</a> //標(biāo)簽鏈接和標(biāo)簽名稱
{%endfor%}
②Pageinfo['coverarr'] //圖片字段,最多6張圖片
Pageinfo['coverarr'][0] //第1張圖片
使用示例:
<div>
{%for k, v in Pageinfo['coverarr']%}
<img src="{{v}}">
{%endfor%}
</div>
③{{Pageinfo['relateinfo']['#模型標(biāo)識#']}} //關(guān)聯(lián)內(nèi)容
使用示例:
{%if Pageinfo['relateinfo']['news']%}
{%for k, v in Pageinfo['relateinfo']['news']%}
{{v['title']}}
{{v['url']}}
{%endfor%}
{%endif%}
④當(dāng)前詳情關(guān)聯(lián)的模型詳情,所關(guān)聯(lián)的其他內(nèi)容。如當(dāng)前詳情關(guān)聯(lián)了新聞A,新聞A關(guān)聯(lián)了產(chǎn)品B。
則在當(dāng)前頁輸出產(chǎn)品B的方法為:
{%for k, v in Pageinfo['relateinfo']['news']%} //關(guān)聯(lián)模型詳情的標(biāo)識,如上面說的新聞
<a href="{{v['linkurl']}}" target="_blank">
<div class="title"><span>{{v['title']}}</span></div>
</a>
{% set abc = System.getRelate('news', v['_id']) %} //#關(guān)聯(lián)模型詳情的標(biāo)識,如上面說的新聞
{%for k1, v1 in abc['products'] %} //被當(dāng)前詳情關(guān)聯(lián)的其他模型詳情,所添加的關(guān)聯(lián)內(nèi)容,如上例產(chǎn)品
<a href="{{v1['linkurl']}}" target="_blank">
<div class="title"><span>{{v1['title']}}</span></div>
</a>
{%endfor%}
{%endfor%}
2.自定義字段
2.1普通自定義字段:文本、下拉框、編輯器
預(yù)置模型:{{Pageinfo['extends']['#擴(kuò)展字段名稱#']}}
自定義模型:{{Pageinfo['#擴(kuò)展字段名稱#']}}
特殊下拉框:地域
--在頁面中調(diào)用地域,前臺可通過訪客的IP地址來調(diào)取相應(yīng)地域的詳情內(nèi)容。該方法能夠正確使用的前提是被調(diào)用模型的詳情中,使用了地域。
①語法說明
模型詳情頁調(diào)取地域字段:
調(diào)取一個地址: {{ Pageinfo['#擴(kuò)展字段名稱#'][0] }}
調(diào)取多個地址:
{% for k, v in Pageinfo['#擴(kuò)展字段名稱#'] %}
{{ v }}
{% endfor %}
調(diào)取和訪客所在地相關(guān)的模型內(nèi)容:
系統(tǒng)模型:System.getAreaData('#模型標(biāo)識#', [], ['addtime': -1], 10, "#地名#")
自定義模型:Custom.getAreaData('#模型標(biāo)識#', [], ['addtime': -1], 10,"#地名#")
方法可用范圍:模型詳情頁、模型列表頁、普通頁面、模板頁面、自定義列表頁、靜態(tài)片段、動態(tài)片段。
語法說明:
-
[]中可以進(jìn)一步設(shè)置篩選條件
-
-1,按照添加時間倒序調(diào)取數(shù)據(jù);1,按照添加時間正序調(diào)取數(shù)據(jù)
-
10是一次調(diào)取數(shù)據(jù)的數(shù)量,可以進(jìn)行自定義
-
“#地名#”是用戶默認(rèn)一個數(shù)據(jù)輸出的查詢地址,不填將按照訪客ip確認(rèn)輸出的數(shù)據(jù)。地名的輸入要與地域下拉列表中的值保持一致。
②使用示例
{% set aaa = System.getAreaData('#模型標(biāo)識#', [], ['addtime': -1], 10) %}
{%for k,v in aaa %}
{{v['title']}}
{% endfor %}
增加其他限制條件,如推薦等級:
{% set aaa = System.getAreaData('#模型標(biāo)識#', ['grade':[2]], ['addtime': -1], 2) %}
{%for k,v in aaa %}
{{v['title']}}
{% endfor %}
備注:
-
默認(rèn)地域的情況下不會根據(jù)訪客的IP調(diào)取數(shù)據(jù),只顯示默認(rèn)地域的數(shù)據(jù)
-
當(dāng)定位不到訪客的IP或定位的IP是國外的,調(diào)取全部的數(shù)據(jù)
2.2多級聯(lián)動字段
預(yù)置模型:{{System.transDropdown(Pageinfo['extends']['#擴(kuò)展字段名稱#'])}}
自定義模型:{{Custom.transDropdown(Pageinfo['#擴(kuò)展字段名稱#'])}}
2.3圖片字段
預(yù)置模型:
['extends']['#擴(kuò)展字段名稱#']['path']['0'] //返回第一張圖片
['extends']['#擴(kuò)展字段名稱#']['path'] //返回全部圖片
自定義模型:
['#擴(kuò)展字段名稱#']['path']['0'] //返回第一張圖片
['#擴(kuò)展字段名稱#']['path'] //返回全部圖片
使用示例:
//預(yù)置
{%for k, v in Pageinfo['extends']['擴(kuò)展字段名稱']['path']%}
<div><img src="{{v}}!/both/800x562" alt="{{Pageinfo['title']}}"></div>
{%endfor%}
//自定義
{%for k,v in Pageinfo['擴(kuò)展字段名稱']['path']%}
<div><img src="{{v}}" alt="{{Pageinfo['title']}}"></div>
{%endfor%}
2.4附件字段
預(yù)置模型:
{{ Pageinfo["extends"]["#擴(kuò)展字段名稱#"]["fileurl"] }} //調(diào)取文件url
{{ Pageinfo["extends"]["#擴(kuò)展字段名稱#"]["fileid"]}} //調(diào)取文件id
{{ Pageinfo["extends"]["#擴(kuò)展字段名稱#"]["filename"]}} //調(diào)取第一個文件名稱
使用示例:
{%set data=Pageinfo['extends']['ceshifujian']%}
<ul>
{%for k,v in data['fileurl']%}
<li><a href="{{v}}">{{data['filename'][k]}}</a></li>
{%endfor%}
</ul>
自定義模型:
{{ Pageinfo["#擴(kuò)展字段名稱#"]["fileurl"]}} //調(diào)取文件url
{{ Pageinfo["#擴(kuò)展字段名稱#"]["fileid"] }} //調(diào)取文件id
{{ Pageinfo["#擴(kuò)展字段名稱#"]["filename"] }} //調(diào)取文件名稱
使用示例:
{%set data=Pageinfo['#擴(kuò)展字段名稱#']%}
{%for k,v in data[fileid]%}
<a>{{data['fileurl'][k]}}</a>
{%endfor%}
2.5視頻字段
預(yù)置模型:Pageinfo['extends']['#擴(kuò)展字段名稱#']
自定義模型:Pageinfo['#擴(kuò)展字段名稱#']
字段中包含:
name //視頻名稱
version //視頻清晰度
base //原始
low //流暢
normal //標(biāo)清
url //視頻鏈接
使用示例:
{% if Pageinfo['extends']['shipin'] is defined %}
{% for key,val in Pageinfo['extends']['shipin'] %}
<h4>視頻標(biāo)題:{{ val['name'] }}</h4>
<p>默認(rèn)播放的視頻地址:{{ val['url']['base'] }}</p>
<p>流暢視頻地址:{{ val['url']['low'] }}</p>
<p>標(biāo)清視頻地址:{{ val['url']['normal'] }}</p>
<p>高清視頻地址:{{ val['url']['height'] }}</p>
{% for k,v in val['version'] %}
<a href="javascript:;" title="{{ val['url'][k] }}">{{ v }}</a> //調(diào)取視頻的清晰度(付費(fèi)用戶)
{% endfor %}
{% endfor %}
{% endif %}
2.6 作者字段
{{ Pageinfo['author'] }}
2.7 圖片字段
2.7.1 預(yù)置圖片字段
①調(diào)取封面圖
{%for k,v in Pageinfo['coverarr']%}
②調(diào)取所有圖片
{%for k,v in Pageinfo['coverarr']%}
<img src="{{v}}" width="42" height="42">
{%endfor%}
2.7.2 自定義圖片字段:
① 預(yù)置模型
<img src="{{Pageinfo['extends']['擴(kuò)展字段名稱']['path'][cover']}}" > //調(diào)取封面圖
{%for k,v in Pageinfo['extends']['擴(kuò)展字段名稱']['path']%} //調(diào)取全部圖片
<img src="{{v}}!/both/800*562" alt="{{Pageinfo['title']}}">
{%endfor%}
②自定義模型:
{{Pageinfo['擴(kuò)展字段名稱']['path'][cover]}} //調(diào)取封面圖
{%for k,v in Pageinfo['擴(kuò)展字段名稱]['path']%} //調(diào)取全部圖片
<img src="{{v}}" >
{%endfor%}
2.7.3 模型詳情關(guān)聯(lián)圖庫
{{Pageinfo['coverarr'][0][0]}} //圖庫封面調(diào)取
2.8 顯示訪問量
區(qū)別于實(shí)際訪問量。前臺訪問時,“顯示訪問量”根據(jù)模型設(shè)置處設(shè)定的區(qū)間隨機(jī)增加,有助于搜索引擎優(yōu)化。當(dāng)隨機(jī)區(qū)間設(shè)定為1的時候,顯示的訪問量即真實(shí)的訪問量。實(shí)際訪問量可在模型詳情列表進(jìn)行查看。
系統(tǒng)模型:{{System.getVisitNum('#模型標(biāo)識#',Pageinfo['_id'])}}
預(yù)置模型:{{Custom.getVisitNum('#模型標(biāo)識#',Pageinfo['_id'])}}
注:若先設(shè)置了訪問量在區(qū)間內(nèi)隨機(jī)增加,后又調(diào)整回實(shí)際訪問量。此時的顯示訪問量在之前虛擬量的基礎(chǔ)上進(jìn)行增加。
2.9 模型詳情的上一條下一條
2.9.1 預(yù)置模型
System.prev('#模型標(biāo)識#') //上一條
System.next('#模型標(biāo)識#') //下一條
System.prev('#模型標(biāo)識#', ['cateid': Pageinfo['cateid']]) //當(dāng)前分類下的上一條
System.next('#模型標(biāo)識#', ['cateid': Pageinfo['cateid']]) //當(dāng)前分類下的下一條
使用示例:
<div class="prev-page">
{%if System.prev('article')%}
{%set varp= System.prev('article')%}
<a href="{{varp['linkurl']}}" >上一條</a>
<p>{{varp['title']}}</p>
{%else%}
<a href="">沒有了</a>
{%endif%}
</div>
<div class="next-page">
{%if System.next('article')%}
{%set varn= System.next('article')%}
<a href="{{varn['linkurl']}}">下一條</a>
<p>{{varn['title']}}</p>
{%else%}
<a href="">沒有了</a>
{%endif%}
</div>
2.9.2 自定義模型
Custom.prev('#模型標(biāo)識#') //上一條
Custom.next('#模型標(biāo)識#') //下一條
Custom.prev('#模型標(biāo)識#', ['cateid':Pageinfo['cateid']) //當(dāng)前分類的上一條
Custom.next('#模型標(biāo)識#', ['cateid':Pageinfo['cateid']) //當(dāng)前分類的下一條
使用示例
① 全部內(nèi)容的上一條下一條:
<div class="prev-page">
{%if Custom.prev('#模型標(biāo)識#')%}
{%set varp= Custom.prev('#模型標(biāo)識#')%}
<a href="{{varp['linkurl']}}" >上一條</a>
<p>{{varp['title']}}</p>
{%else%}
<a href="javascript:;">沒有了</a>
{%endif%}
</div>
<div class="next-page">
{%if Custom.next('#模型標(biāo)識#')%}
{%set varn= Custom.next('#模型標(biāo)識#')%}
<a href="{{varn['linkurl']}}">下一條</a>
<p>{{varn['title']}}</p>
{%else%}
<a href="javascript:;">沒有了</a>
{%endif%}
</div>
② 當(dāng)前分類的上一條、下一條:
{% set cateid = Pageinfo['cateid'] %}
<div class="prev-page">
{%if Custom.prev('#模型標(biāo)識#',['cateid':cateid])%}
{%set varp= Custom.prev('#模型標(biāo)識#',['cateid':cateid])%}
<a href="{{varp['linkurl']}}" >上一條</a>
<p>{{varp['title']}}</p>
{%else%}
<a href="">沒有了</a>
{%endif%}
</div>
<div class="next-page">
{%if Custom.next('#模型標(biāo)識#',['cateid':cateid])%}
{%set varn= Custom.next('#模型標(biāo)識#', ['cateid':cateid])%}
<a href="{{varn['linkurl']}}"> 下一條 </a>
<p>{{varn['title']}}</p> {%else%}
<a href="">沒有了</a>
{%endif%}
</div>
五、模型詳情特殊語法
1、模型特殊字段
1.1 品牌(僅產(chǎn)品模型)
字段說明:
brandname //產(chǎn)品所屬品牌的名稱
brandpic //產(chǎn)品所屬品牌的Logo
intro //產(chǎn)品所屬品牌的簡介
使用示例:
<div>
{{Pageinfo['brand']['brandname']}} //僅產(chǎn)品模型。當(dāng)前產(chǎn)品所屬品牌的名稱
{{Pageinfo['brand']['brandpic']} //僅產(chǎn)品模型。當(dāng)前產(chǎn)品所屬品牌的Logo
{{Pageinfo['brand']['intro']}} //僅產(chǎn)品模型。當(dāng)前產(chǎn)品所屬品牌的簡介
</div>
1.2 屬性(僅產(chǎn)品模型)
①輸出特定屬性名稱的值。如類型為輸入值、下拉框的屬性
{{Pageinfo['property']['#屬性名稱#']['key']}} //屬性名稱
{{Pageinfo['property']['#屬性名稱#']['val']}} //屬性值
②屬性值的類型為輸入?yún)^(qū)間(循環(huán)輸出)
{{Pageinfo['property']['#數(shù)字區(qū)間#']['min']}} //區(qū)間最小屬性值
{{Pageinfo['property']['#數(shù)字區(qū)間#']['max']}} //區(qū)間最大屬性值
{{Pageinfo['property']['#數(shù)字區(qū)間#']['unit']}} //屬性值單位
{{Pageinfo['property']['#數(shù)字區(qū)間#']['key']}} //屬性名稱
③輸出關(guān)鍵屬性
{{Pageinfo['property']['#屬性名稱#']['color']}} //返回16進(jìn)制顏色值
④輸出添加的所有屬性(循環(huán)輸出)
使用示例:
{%for k,v in Pageinfo['property']%}
<tr>
<td>{{v['key']}}:</td>
<td>{{v['val']}}</td>
</tr>
{%endfor%}
1.3 關(guān)聯(lián)文檔 :產(chǎn)品模型、招聘模型(可添加多個文檔);下載模型(僅可添加1個文檔)
語法:
Pageinfo['docsarr'] //關(guān)聯(lián)文檔
使用示例:
{%if Pageinfo['docsarr']%}
{%for k, v in Pageinfo['docsarr']%}
{{v['name']}} //文檔名稱
{{v['url']}} //文檔鏈接
{%endfor%}
{%endif%}
2.視頻模型
①普通視頻輸出方法(主題包中用此方法)
使用示例:
<div>
視頻標(biāo)題:{{Pageinfo['video']['name']}}<br>
視頻鏈接:{{Pageinfo['video']['url']}}<br>
視頻時長:{{Pageinfo['video']['duration']}}<br> //視頻時長以秒為單位
</div>
②開通高級版套餐后,視頻可以自動轉(zhuǎn)碼(主題包中一般不用此方法)
Pageinfo['video_low'] //流暢視頻地址
Pageinfo['video_normal'] //標(biāo)清視頻地址
Pageinfo['video_height'] //高清視頻地址
備注:若視頻未經(jīng)過轉(zhuǎn)碼,調(diào)取該三種地址,地址輸出為空。
③外部視頻資源,如優(yōu)酷土豆等(主題包中一般不用此方法)
語法:
Pageinfo['videocode'] //外部視頻
備注:視頻的播放需要視頻播放插件才能夠正常播放
④詳情頁調(diào)取同分類全部視頻:
{% set abc = System.getAllByCateid('video',Pageinfo['cateid']) %}
{%for kk,vv in abc %}
<p>{{vv['title']}}</p>
<p>{{vv['cate']['catename']}}</p>
{%endfor%}
3.下載模型
Pageinfo['downloadcount'] //文檔下載次數(shù)
{{Tools.fileinfo(Pageinfo['file']['url'])['size']}} //文件大小
{{Tools.fileinfo(Pageinfo['file']['url'])['filetype']}} //文件格式
六、控制規(guī)則
①{{ str_replace('#原內(nèi)容#','#替換內(nèi)容#','#字段名稱#') }} //用新內(nèi)容把原內(nèi)容替換掉
使用示例:
{{ str_replace('五星云站','westarcloud',Pageinfo['intro']) }}
原簡介內(nèi)容:五星云站是專業(yè)建站工具
替換后:westarcloud是專業(yè)建站工具
②{{slice(Pageinfo['#字段名稱#'],0,150,'utf-8')}} //設(shè)定輸出字符長度
③{{strip_tags(Pageinfo['#字段名稱#']) }} //去除HTML等標(biāo)簽