深入講解SiteServer CMS:模板嵌套

** 如果您覺(jué)得文章對(duì)您有點(diǎn)用,麻煩在您閱讀轨域、收藏袱耽、轉(zhuǎn)發(fā)的時(shí)候,順手幫忙點(diǎn)個(gè)贊干发、留個(gè)言朱巨、加關(guān)注,這是我繼續(xù)寫(xiě)下去的絕佳動(dòng)力铐然。**

上篇文章深入講解SiteServer CMS:創(chuàng)建站點(diǎn)以官方剛剛提供的一套模板為例實(shí)戰(zhàn)演練一遍SiteServer CMS如何通過(guò)站點(diǎn)模板來(lái)創(chuàng)建站點(diǎn)蔬崩。今天詳細(xì)講解一下這個(gè)站點(diǎn)模板的具體模塊是如何使用SiteServer CMS的標(biāo)簽語(yǔ)言(STL)嵌套出來(lái)的。

1搀暑、模板位置

如果都搞不明白模板文件在服務(wù)器上哪個(gè)位置沥阳,怎么修改?所以首先得搞明白這個(gè)問(wèn)題自点。

第一步是要搞清楚SiteServer CMS系統(tǒng)安裝在服務(wù)器上什么位置桐罕,這個(gè)叫系統(tǒng)根目錄。這個(gè)自己安裝的比較清楚,如果是接手別人的項(xiàng)目功炮,一個(gè)比較查看系統(tǒng)根目錄的辦法就是通過(guò)系統(tǒng)訪問(wèn)地址到IIS里去查找站點(diǎn)溅潜,然后通過(guò)IIS設(shè)置里查看站點(diǎn)物理路徑即是系統(tǒng)根目錄。

第二步是搞清楚本站點(diǎn)的所有文件在服務(wù)器上什么位置薪伏,這個(gè)叫站點(diǎn)根目錄滚澜。具體辦法如下圖所示:

從上圖可以看到,模板站點(diǎn):Milenko的站點(diǎn)文件夾就是Milenko嫁怀,也就是說(shuō)在系統(tǒng)根目錄下找到文件夾Milenko就等于找到了站點(diǎn)根目錄设捐。

第三步就是了解SiteServer CMS系統(tǒng)本身對(duì)站點(diǎn)里的模板文件存放位置。SiteServer CMS 內(nèi)容管理系統(tǒng)本身的模板有四種(模板分類的內(nèi)容可以閱讀之前 的文章一步一步演示SiteServer CMS建站過(guò)程(二))塘淑,每種模板的文件對(duì)應(yīng)存放位置在:

總結(jié)一下上圖的規(guī)律就是:

  • 首頁(yè)模板:在站點(diǎn)根目錄下萝招,系統(tǒng)默認(rèn)叫:T_系統(tǒng)首頁(yè)模板.html
  • 欄目模板和單頁(yè)模板:在站點(diǎn)根目錄下的Template文件夾里,欄目模板系統(tǒng)默認(rèn)叫:T_系統(tǒng)欄目模板.html
  • 內(nèi)容模板:在站點(diǎn)根目錄下的Template/Content文件夾里存捺,系統(tǒng)默認(rèn)叫:T_系統(tǒng)內(nèi)容模板.html

2槐沼、模板編輯

其實(shí)如果不知道模板存在服務(wù)器什么位置也是可以進(jìn)行編輯的添加、修改捌治、刪除操作的岗钩,只是作為研究一個(gè)系統(tǒng)來(lái)說(shuō),如果這都搞不明白也實(shí)在有點(diǎn)說(shuō)不過(guò)去具滴,對(duì)吧凹嘲?

進(jìn)到SiteServer CMS內(nèi)容管理系統(tǒng)后臺(tái),進(jìn)入如下界面:


從上圖可以看到构韵,本站點(diǎn)所有模板有3個(gè)周蹭,分別是一個(gè)首頁(yè)模板、一個(gè)欄目頁(yè)模板和一個(gè)內(nèi)容頁(yè)模板疲恢。點(diǎn)擊任何一個(gè)模板名稱凶朗,即可進(jìn)入該模板的編輯界面,如下圖所示:


從上圖就可以看到显拳,得入首頁(yè)模板的編輯界面棚愤,編輯器里有類大部分是Html代碼,但又有小部分SiteServer CMS內(nèi)容管理系統(tǒng)的模板標(biāo)簽語(yǔ)言Stl代碼杂数,這就是模板內(nèi)容了宛畦。至于模板內(nèi)容上面的字段(模板文件、生成文件名揍移、文件擴(kuò)展名等)的具體含義次和,還是可以在之前的文章一步一步演示SiteServer CMS建站過(guò)程(二))里查閱到。

如果模板嵌套好了那伐,只是簡(jiǎn)單修改踏施,可以通過(guò)這個(gè)編輯界面直接修改石蔗,然后保存,再到生成管理去生成相應(yīng)的頁(yè)面即可看到效果畅形。

如果我們是重新做一個(gè)全新的模板养距,則應(yīng)該在這里新創(chuàng)建一個(gè)空白模板,然后用自己熟悉的開(kāi)發(fā)軟件比如Atom日熬、Visual Studio Code棍厌、Dreamwear等等,打開(kāi)模板文件碍遍,把之前切好的靜態(tài)頁(yè)面拷過(guò)來(lái)放在這定铜,然后一點(diǎn)一點(diǎn)進(jìn)行模板標(biāo)簽語(yǔ)言的替換嵌套阳液,每修改一點(diǎn)點(diǎn)可以保存起來(lái)怕敬,然后生成頁(yè)面看嵌套效果,反復(fù)如此直到全部套完帘皿。

另外东跪,打開(kāi)欄目和內(nèi)容模板發(fā)現(xiàn)都是空的,表明本站點(diǎn)沒(méi)有使用欄目頁(yè)和內(nèi)容頁(yè)模板鹰溜,也即本網(wǎng)站就只有一個(gè)首頁(yè)面虽填。下面就詳細(xì)講講這個(gè)首頁(yè)模板的代碼吧。

3曹动、首頁(yè)模板詳解

從上到下認(rèn)為有必要解釋的地方進(jìn)行代碼配套文字的方式進(jìn)行講解斋日。

<link href="{Stl.SiteUrl}/css/bootstrap.css" rel="stylesheet" type="text/css">
<link href="{Stl.SiteUrl}/css/font-awesome.min.css" rel="stylesheet">
<link href="{Stl.SiteUrl}/css/style.css" rel="stylesheet" type="text/css">
<link href="{Stl.SiteUrl}/css/owl.carousel.css" rel="stylesheet" type="text/css">
<script src="{Stl.SiteUrl}/js/jquery.quovolver.min.js"></script>

以上代碼頁(yè)面頭部需要把相應(yīng)的資源文件比如css、js引進(jìn)來(lái)墓陈,此時(shí)需要用到一個(gè)實(shí)體標(biāo)簽{Stl.SiteUrl}恶守,意思就是站點(diǎn)根目錄的意思。

<title>{Stl.SiteName}</title>

上面代碼網(wǎng)頁(yè)的Title是通過(guò)調(diào)用實(shí)體標(biāo)簽{Stl.SiteName}把網(wǎng)站名稱顯示在這里贡必。

<span class="grey">{stl:value type=mingzi}</span>{stl:value type=gongsi}

上面代碼是要把下圖中紅色和黑色兩個(gè)位置的內(nèi)容通過(guò)stl:value標(biāo)簽顯示出來(lái):


而這兩部分的文字是在后臺(tái)站點(diǎn)屬性設(shè)置中進(jìn)行管理的兔港,如下圖所示:


只要修改上圖位置中的值,前臺(tái)就會(huì)跟著變化仔拟∩婪可能你會(huì)有疑問(wèn),標(biāo)簽里怎么知道type就是mingzi和gongsi呢利花?從上圖右邊的設(shè)置站點(diǎn)屬性科侈,點(diǎn)擊進(jìn)去你就會(huì)明白了,如下圖所示:


原來(lái)是給這個(gè)站點(diǎn)增加了兩個(gè)字段炒事,字段名就是mingzi和gongsi臀栈。所以從這就可以大致理解SiteServer CMS系統(tǒng)(其實(shí)所有CMS建站系統(tǒng)都類似)的工作原理,那就是后臺(tái)定義好相應(yīng)的字段并進(jìn)行內(nèi)容的管理羡洛,然后利用自定義的一套標(biāo)簽語(yǔ)言挂脑,在不需要程序員的幫助下很方便的就能把內(nèi)容顯示到前臺(tái)相應(yīng)的地方上去藕漱。和其他系統(tǒng)不一樣的地方就是,SiteSever CMS并沒(méi)有限制或者說(shuō)定義死后臺(tái)哪些字段就一定顯示在前臺(tái)哪個(gè)位置崭闲,而是模板嵌套人員很方便靈活地根據(jù)需要放在自己想要出現(xiàn)的地方肋联。

一個(gè)很明顯的例子就是經(jīng)常有人問(wèn)到SiteServer CMS后臺(tái)沒(méi)有管理友情鏈接的地方,如果理解到了剛才這個(gè)原理刁俭,就能很好解決這個(gè)問(wèn)題了橄仍。那就是后臺(tái)隨意建一個(gè)欄目,把友情鏈接的內(nèi)容(標(biāo)題牍戚、鏈接)發(fā)在此欄目下侮繁,然后前臺(tái)利用標(biāo)簽把這個(gè)欄目下的內(nèi)容顯示到友情鏈接該顯示的位置即可。這和其他系統(tǒng)固定一個(gè)地方專門用于發(fā)友情鏈接的實(shí)現(xiàn)方式相比如孝,是不是特別靈活自由宪哩?

<stl:channels groupChannel="nav" topLevel="0">
   <li class="active"><a href="{Channel.ImageUrl}">{Channel.Title}</a></li>
</stl:channels>

以上代碼是通過(guò)一個(gè)欄目標(biāo)簽stl:channels把網(wǎng)站導(dǎo)航調(diào)用出來(lái),具體顯示效果如下圖所示:


這里有兩個(gè)地方需要解釋一下第晰。
第一個(gè)是后臺(tái)欄目這么多怎么決定哪些欄目會(huì)顯示在導(dǎo)航位置上锁孟?通過(guò)代碼groupChannel="nav" 可以看到,凡是屬于欄目組nav的欄目就會(huì)出現(xiàn)在這里了茁瘦。而這是在后臺(tái)欄目管理的欄目編輯界面里進(jìn)行設(shè)置的品抽,如下圖所示的欄目組字段把nav選中即可。
第二個(gè)是如何控制點(diǎn)擊欄目名稱跳到頁(yè)面上某個(gè)位置甜熔?通過(guò)代碼:href="{Channel.ImageUrl}" 可以看到欄目名稱對(duì)應(yīng)的地址是在欄目圖片(ImageUrl)這個(gè)字段來(lái)管理的圆恤。如下圖所示房產(chǎn)預(yù)覽欄目對(duì)應(yīng)的就是#listed,意味著點(diǎn)擊房產(chǎn)預(yù)覽欄目將跳到id="listed"的控件位置腔稀。


<stl:contents channelIndex="我們" totalNum="1">
  <h2><span class="grey"><stl:content type="Title"></stl:content></span> 
     - <stl:content type="SubTitle"></stl:content></h2>
</stl:contents>

以上代碼是把欄目索引為“我們”(channelIndex="我們")的欄目的第一篇文章(totalNum="1")的標(biāo)題(type="Title")和副標(biāo)題(type="SubTitle")顯示到如下圖所示的紅色和白色位置:


欄目索引是在后臺(tái)欄目管理中可以查看到盆昙,如下圖所示:


通過(guò)上圖可以找到欄目“我們”,然后再到內(nèi)容管理中烧颖,把“我們”欄目第一篇文章打
開(kāi)找到標(biāo)題和副標(biāo)題進(jìn)行編輯即可控制前臺(tái)內(nèi)容:


<stl:contents channelIndex="我們" totalNum="1">
    <h3 style="color: #EFEFEF; text-align: center; font-size: 36px;">
      <stl:content type="slogan1"></stl:content>
    </h3>
</stl:contents>
<stl:contents channelIndex="我們" totalNum="1">
    <h3><stl:content type="slogan2"></stl:content></h3>
    <p>
         <stl:content type="slogan3"></stl:content> 
           <span style="display:block;">
             <stl:content type="slogan4"></stl:content>
           </span>
     </p>
</stl:contents>

以上兩段代碼是把欄目索引為“我們”(channelIndex="我們")的欄目的第一篇文章(totalNum="1")的slogan1弱左、slogan2、slogan3炕淮、slogan4顯示到如下圖所示的位置:


一樣的拆火,把“我們”欄目第一篇文章打開(kāi)找到slogan1、slogan2涂圆、slogan3们镜、slogan4四個(gè)字段進(jìn)行編輯即可控制前臺(tái)內(nèi)容:


至于標(biāo)簽代碼里的slogan1、slogan2润歉、slogan3模狭、slogan4怎么和上圖中的標(biāo)題1、標(biāo)題2踩衩、標(biāo)題3嚼鹉、標(biāo)題4對(duì)應(yīng)上的贩汉,則可以通過(guò)后臺(tái)的設(shè)置管理中的內(nèi)容字段管理,找到“我們”欄目的字段內(nèi)容即可锚赤,如下圖所示:


關(guān)于內(nèi)容字段的問(wèn)題匹舞,可以在之前的文章深入講解SiteServer CMS:內(nèi)容模型里查閱到。

   <h2>
     <stl:channel type="keywords" channelIndex="房產(chǎn)預(yù)覽"></stl:channel>
        <span>
         <stl:channel type="description" channelIndex="房產(chǎn)預(yù)覽"></stl:channel>
        </span>
   </h2> 
<div id="owl-demo">    
  <stl:contents channelIndex="房產(chǎn)預(yù)覽">
    <div class="item">
     ![]({Content.ImageUrl})
        <div class="img-info">
          <h4><stl:content type="Title"></stl:content></h4>
        </div          
    </div>
  </stl:contents>
</div>

以上兩段代碼是把欄目索引為“房產(chǎn)預(yù)覽”(channelIndex="房產(chǎn)預(yù)覽")的欄目的keywords和description以及欄目下所有內(nèi)容顯示到如下圖所示的位置:


上圖上半部分是通過(guò)第一段代碼來(lái)實(shí)現(xiàn)线脚,具體數(shù)據(jù)是在后臺(tái)欄目管理中的“房產(chǎn)預(yù)覽”欄目的編輯界面中赐稽,如下圖所示的關(guān)鍵字列表和頁(yè)面描述字段:


左右滾動(dòng)的圖片列表,是通過(guò)后臺(tái)內(nèi)容管理中的“房產(chǎn)預(yù)覽”欄目的管理界面浑侥,進(jìn)入每篇內(nèi)容的編輯界面進(jìn)行控制的姊舵,如下圖所示的標(biāo)題和圖片字段:


再往下的代碼,都和這些講解類似寓落,不同的可能就是內(nèi)容對(duì)應(yīng)的字段不同恳邀,原理是一樣的糠排。通過(guò)本段的講解你會(huì)發(fā)現(xiàn)SiteServer CMS模板嵌套的兩個(gè)關(guān)鍵點(diǎn):對(duì)后臺(tái)系統(tǒng)的熟悉以及對(duì)模板標(biāo)簽語(yǔ)言Stl的熟練運(yùn)用罕偎。前者是讓你知道哪些數(shù)據(jù)應(yīng)該存儲(chǔ)在哪更合理硬毕,后者是把數(shù)據(jù)顯示到前臺(tái)頁(yè)面的關(guān)鍵。

以上所有標(biāo)簽的具體用法可以參考官方網(wǎng)站STL使用幫助

開(kāi)心一笑

男:老板考蕾,你這兒洗澡多少錢?
店老板:男浴池10元会宪,女浴池100肖卧。
男:你搶錢啊。掸鹅。塞帐。
店老板:我的意思是,你想去男浴池還是女浴池巍沙?
男:葵姥。。句携。 果斷交了100塊榔幸。進(jìn)去女浴池一看,瑪?shù)掳担悄械模?br> 浴池里的兄弟:哎呀削咆,又來(lái)一個(gè)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市蠢笋,隨后出現(xiàn)的幾起案子拨齐,更是在濱河造成了極大的恐慌,老刑警劉巖昨寞,帶你破解...
    沈念sama閱讀 210,914評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件瞻惋,死亡現(xiàn)場(chǎng)離奇詭異厦滤,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)歼狼,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,935評(píng)論 2 383
  • 文/潘曉璐 我一進(jìn)店門馁害,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人蹂匹,你說(shuō)我怎么就攤上這事碘菜。” “怎么了限寞?”我有些...
    開(kāi)封第一講書(shū)人閱讀 156,531評(píng)論 0 345
  • 文/不壞的土叔 我叫張陵忍啸,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我履植,道長(zhǎng)计雌,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,309評(píng)論 1 282
  • 正文 為了忘掉前任玫霎,我火速辦了婚禮凿滤,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘庶近。我一直安慰自己翁脆,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,381評(píng)論 5 384
  • 文/花漫 我一把揭開(kāi)白布鼻种。 她就那樣靜靜地躺著反番,像睡著了一般。 火紅的嫁衣襯著肌膚如雪叉钥。 梳的紋絲不亂的頭發(fā)上罢缸,一...
    開(kāi)封第一講書(shū)人閱讀 49,730評(píng)論 1 289
  • 那天,我揣著相機(jī)與錄音投队,去河邊找鬼枫疆。 笑死,一個(gè)胖子當(dāng)著我的面吹牛敷鸦,可吹牛的內(nèi)容都是我干的息楔。 我是一名探鬼主播,決...
    沈念sama閱讀 38,882評(píng)論 3 404
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼轧膘,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼钞螟!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起谎碍,我...
    開(kāi)封第一講書(shū)人閱讀 37,643評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤鳞滨,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后蟆淀,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體拯啦,經(jīng)...
    沈念sama閱讀 44,095評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡澡匪,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,448評(píng)論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了褒链。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片唁情。...
    茶點(diǎn)故事閱讀 38,566評(píng)論 1 339
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖甫匹,靈堂內(nèi)的尸體忽然破棺而出甸鸟,到底是詐尸還是另有隱情,我是刑警寧澤兵迅,帶...
    沈念sama閱讀 34,253評(píng)論 4 328
  • 正文 年R本政府宣布抢韭,位于F島的核電站,受9級(jí)特大地震影響恍箭,放射性物質(zhì)發(fā)生泄漏刻恭。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,829評(píng)論 3 312
  • 文/蒙蒙 一扯夭、第九天 我趴在偏房一處隱蔽的房頂上張望鳍贾。 院中可真熱鬧,春花似錦交洗、人聲如沸骑科。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,715評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)纵散。三九已至,卻和暖如春隐圾,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背掰茶。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,945評(píng)論 1 264
  • 我被黑心中介騙來(lái)泰國(guó)打工暇藏, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人濒蒋。 一個(gè)月前我還...
    沈念sama閱讀 46,248評(píng)論 2 360
  • 正文 我出身青樓盐碱,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親沪伙。 傳聞我的和親對(duì)象是個(gè)殘疾皇子瓮顽,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,440評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容