程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> dedecms調用標簽總結(一),dedecms調用標簽總結

dedecms調用標簽總結(一),dedecms調用標簽總結

編輯:關於PHP編程

dedecms調用標簽總結(一),dedecms調用標簽總結


dedecms 基本包含了一個常規網站需要的一切功能,擁有完善的中文學習資料,很容易上手。學會dedecms 的模板修改、欄目新增、內容模型新增和常用的標簽調用方法後,即便我們不懂 php 語言也能獨立完成一個網站了。

在百度網盤中分享,織夢CMS模板制作手冊 http://pan.baidu.com/s/1miQ4HmS

對於本次項目中使用到的方法和技巧總結如下:

一、標簽調用

1. title(標題調用):

首頁:{dede:global.cfg_webname/}。cfg_webname 是網站名稱的變量名,在 dedecms 後台-->系統基本參數-->站點設置中能發現。

列表頁(或單頁面):{dede:field.seotitle/} | {dede:global.cfg_webname/}。{dede:field.seotitle /} 是 seo 標題,在 dedecms 後台,對應欄目的高級選項中能發現,需要保證 seo 標題已經填寫了。而後面加上 | 和網站名稱,是一般網站的做法,也可以不加。

內容頁:{dede:field.title/} | {dede:global.cfg_webname/}。{dede:field.title/} 是內容頁調用的標題方法,不僅在 title 標簽裡可以這樣調用,在其他地方需要用到標題時都可以這樣調用。比如我在項目中使用到的在其它地方:

<nav>
    <!-- 在手機端,下面的標題才顯示 -->
    <h1>{dede:field.title/}</h1>
    <!-- 在手機端,下面的菜單通過切換菜單按鈕進行顯示和隱藏 -->
    <button id="menu"><i class="iconfont icon-menu"></i></button>
    <ul class="nav-list clearfix">
        <!-- 當前頁面的 a 加上 active 類 -->
        {dede:include filename='wqxf_nav.htm'/}
    </ul>
</nav>

field 是用於獲取特定欄目或者檔案的字段值及常用的環境變量值。

對於內容頁,{dede:field.title/} 這種形式的調用方法( field.字段/ )能調用很多我們需要的內容。

{dede:field.shorttitle/} 副標題,{dede:field.keywords/} 關鍵詞,{dede:field.description/} 簡介...

首頁和內頁,{field:title/} 這種形式的調用方法( field:字段/ )能調用很多我們需要的內容。

 

2. 模板的調用:

很多網站的頁頭和頁尾都是一樣的,這種情況下,我們可以把這樣相同的部分提取出來,單獨新建一個模板存放。如果有修改的話,只需要修改一處就可以了,這和把網站的 css 單獨寫在一個文件裡並獨立出來是一個道理。

例如:

我把網站的頁尾部分單獨新建了一個模板存放,取名為 wqxf_footer.htm。當某一個頁面需要用到頁尾部分的代碼時,直接可以這樣:{dede:include filename='wqxf_footer.htm'/}。

同樣的,如果網站頁頭部分一樣,可以這樣:{dede:include filename='wqxf_header.htm'/}。wqxf_header.htm 為文件名,裡面是頁頭部分的代碼。

 

3. 導航:

導航的調用方法,是循環調用網站欄目名稱。以網站導航只有一級為例,將這代碼新建一個模板 wqxf_nav 存放,

<li><a href="/" title="{dede:global.cfg_indexname/}">{dede:global.cfg_indexname/}</a></li>
{dede:channel type='top' row='6' current}
<li><a href="[field:typelink/]" title="[field:typename/]">[field:typename/]</a> </li>
{/dede:channel}

解釋:

(0). 一般網站欄目裡都沒有首頁這個欄目,所以首頁需要單獨單用,沒法循環,首頁不使用模板調用 {dede:include filename="wqxf_nav.htm"} 的方式。

(1). <li><a href="/" title="{dede:global.cfg_indexname/}">{dede:global.cfg_indexname/}</a></li> 中 / 為網頁主頁鏈接(在系統參數的站點設置裡可以發現),它的變量名為 cfg_indexurl,所以也可以使用 {dede:global.cfg_indexurl/} 調用。

(2). {dede:global.cfg_indexname/} 調用主頁鏈接名,cfg_indexname 是主頁鏈接名的變量名。

(3). type="top" 表示調用頂級欄目,也就是一級欄目。

(4). row="6" 表示調用六條數據,也就是六個欄目,出首頁這個欄目外,我這裡有六個欄目。如果想要調用全部一級欄目,可以不使用。

(5). current 很重要,它表示當前樣式,比如網站處於當前欄目下,該欄目需要該變一下背景色或者改變文本顏色,我將 class='active' 寫在了 a 鏈接標簽下,當然也可以寫在 li 列表項標簽下,如 current

(6). [field:typelink/] 調用欄目鏈接,[field:typename/] 調用欄目鏈接標題。type 為指定欄目調用標簽。

 

4. 面包屑導航:

列表頁(單頁):{dede:field name='position'/},內容頁:{dede:field name='position'/} > {dede:field.title/}。從 dedecms 的系統參數的核心設置裡可以發現,欄目位置的間隔符號是 " > ",所以我們也使用這種方式增加內容頁的標題。

也可以這樣按照自己寫頁面的 html 那樣,原樣寫出來,如:

<nav class="breadcrumbs container">
    <ol>
        <li>
            <a href="/" title="{dede:global.cfg_indexname/}">{dede:global.cfg_indexname/}</a>
        </li>
        <li>{dede:field.seotitle/}</li>
    </ol>
</nav>

這樣做的好處是,不需要修改模板源文件,去除最後的" > ",樣式都是自己控制好的,看起來美觀一些(把自己寫的樣式也貼上,供參考):

/*面包屑導航*/
.breadcrumbs {
    position: relative;
    height: 1.7rem;
    line-height: 1.7rem;
    margin-top: 1.5rem;
}
.breadcrumbs ol {
    position: absolute;
    top: 0;
    left: 0;
    height: 1.7rem;
    line-height: 1.7rem;
}
.breadcrumbs ol li {
    position: relative;
    display: inline-block;
    height: 1.7rem;
    line-height: 1.7rem;
    padding-left: 1.2rem;
    color: #999;
    font-size: 1rem;
}
.breadcrumbs ol li:before {
    content: ">";
    position: absolute;
    top: 0;
    right: -1rem;
}
.breadcrumbs ol li:first-child { padding-left: 0; }
.breadcrumbs ol li:last-child { padding-left: 1.4rem; }
.breadcrumbs ol li:last-child:before { content: ""; } /* 第一個 li 的前面不需要添加生成內容 */
.breadcrumbs ol li a {
    display: block;
    color: #666;
    padding-right: .6rem;
    padding-left: .6rem;
    transition: all .4s ease .1s;
}
@media(min-width: 1200px) {
    .breadcrumbs ol li a:hover { color: #df4526; }    
}

看起來是下面的效果

 這樣做的壞處是,代碼很多不夠簡潔。

 

5. 欄目內容:

欄目內容是替代原來欄目單獨頁的更靈活的一種方式,通常用於企業簡介之類的用途。官方建議在欄目模板中用{dede:field.content/}調用。

但是這樣做有一個弊端:

當一個欄目下有兩個子集欄目時,這兩個子集欄目中一個新建了自定義的內容模型,一個使用欄目內容發內容。且它們共用一個模板。這種情況下使用 {dede:field.content/} 是調不出內容的。

這時候就用 sql 的方式調用內容:

{dede:sql sql='Select content from xqxf_arctype where id=12'}
    [field:content/]
{/dede:sql}

解釋:

1. xqxf_arctype 是文章類型的數據庫表,xqxf 是數據庫表前綴。

2. id=12 是欄目 id。

首頁也可以這樣調用欄目內容。

 

以上這 5 點是標簽調用的大的方面,後面還會更新:列表調用,多級欄目調用...

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved