PHPCMS2008模板教程 默認模板解析及模板制作教程 PHPCMS2008官方默認 模板解讀 首先打開后臺,官方默認模板的存放位置,存放在 ./templates/default/ php cms/ 目錄里,從這里我們就知道如果我們要新那建一套模板應該怎么做了: 方法:把全套模板放在一個文
PHPCMS2008模板教程 默認模板解析及模板制作教程
首先打開后臺,官方默認模板的存放位置,存放在 ./templates/default/phpcms/ 目錄里,從這里我們就知道如果我們要新那建一套模板應該怎么做了:
方法:把全套模板放在一個文件夾內,如:W3ZZ,然后上傳至templates下面,進入后臺,我們在方案管理處就可以看到我們剛剛上傳的W3ZZ了,把該方案設置成默認方案,更新模板緩存,然后更新首頁就完全是我們W3ZZ里面的模板了,就這樣簡單……
如圖:
這里就是我們W3ZZ文件夾下面PHPCMS里的所有模板,也就是整站核心的模板,包括首頁,欄目首頁,列表頁,內容頁,標簽模板……
接下來看一下header.html、index.html、footer.html 三個模板文件。這是首頁模板的靈魂!不僅是首頁,其它頁面的頭部文件和頁腳文件也是header.html,footer.html這個不用我說了,因為看看模板中的{template 'phpcms','header'}和{template 'phpcms','footer'}說一下這三個參數的含義:
第一個template,是整個系統的模板文件夾,也就是前面講的為什么要傳到templates下面的原因,因為系統定義的模板文件夾就為templates,也就是這里的template;第二個phpcms,就是目前你的模板所在phpcms文件夾名稱,如果你要新建一個頭部,只要在phpcms里面新建一個文件,如:header_w3zz.html,然后用{template 'phpcms','header_w3zz'}就可以了,這樣第三個header這個就明白了,是要包含的模板文件的名稱,footer這個就一樣了。
完整頁面模板是header+index+footer,有了這三部分,首頁模板就可以說結構完整了。
對應2008的默認模板看:(因為都有默認的,所以就不貼出來了,占地方,也不方便看)
現在我們開始分析header.html的構造
1、<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> w3c國際標準
2、<meta http-equiv="Content-Type" c />
這里定義字符編碼,也就是我們下載的時候是GBK還是UTF-8的,這個{CHARSET}就是編碼變量,這個你在安裝的時候就已經確定,所以以后的任何操作都要在該編碼下操作,否則就會出現亂碼,也就是說,出現亂碼這些的原因就在于此。
3、<title>{$head[title]}</title>
這個就是網站名稱-網站標題,在后臺系統設置--基本設置--網站名稱-網站標題,在首頁會兩個都顯示出來,其它的頁面就只顯示網站名稱
4、<meta c name="keywords" />
在后臺系統設置--基本設置--網頁關鍵詞
5、<meta c name="description" />
在后臺系統設置--基本設置--網頁描述
6、<base href="{SITE_URL}" _fcksavedurl=""{SITE_URL}"" />
這是全部定義的,就相當于2007里面的{PHPCMS_PATH},同時2008也用。但是在這里定義之后你的模板里面的調用任何文件都不用定義{PHPCMS_PATH}了,如:我要調用images下面的一個圖片,你只要寫<img src="images/w3zz.jpg">這樣就好。{SITE_URL}這個就是你網站的在后臺系統設置--基本設置--網站地址
7、<link href="favicon.ico" rel="shortcut icon" />
這個效果就是:
就是網站地址前面的標識,也就調用images/favicon.ico文件,這個可以制作,有制作工具
8、<link href="{SKIN_PATH}{$mod}.css" rel="stylesheet" type="text/css" />
引用全部CSS文件,即templates/default/skins/default下面的CSS文件{SKIN_PATH}就是templates/default/skins/default這個地址,{$mod}是當前模型的變量,如:當前是phpcms那就說明CSS文件是phpcms.css
9、<link rel="alternate" type="application/rss+xml" title="{$head[title]}" href="/rss.php?rssid={$catid}" />
網站標題,即訂閱的地址
10、<script language="JavaScript" src="data/config.js"></script> _fcksavedurl=""data/config.js"></script> "
配置js文件
<script language="JavaScript" src="images/js/jquery.min.js"></script>
框架js文件
<script language="JavaScript" src="images/js/css.js"></script>
cssjs文件
<script language="JavaScript" src="images/js/common.js"></script>
配置js包括添加收藏夾,設置為首頁
<script language="JavaScript" src="images/js/login.js"></script>
登陸js文件
<script language="JavaScript" src="images/js/validator.js"></script>
cookie等的js文件
出現相對應的問題,首先檢查這里的js是否調用
11、<body >
頁面載入的時候調用輸出catid或者mod,所以說$catid和$mod即欄目ID和模型名稱是全局變量
12、<div id="top">
{if isset($MODULE['search'])}
{php $types = cache_read('search_type.php');}
<div class="f_r">
<form name="site_search" action="{$MODULE[search][url]}" target="_blank">
<input type="hidden" name="type" value="all"/>
<input type="text" name="q" size="20"/>
<select>
<option value="all">全部</option>
{loop $types $k $name}
<option value="{$k}">{$name}</option>
{/loop}
</select>
<input type="submit" name="s" id="button" value="搜索" />
</form>
</div>
{/if}
<div class="f_l">
<div id="div_login" style="display:block">
<form action="{$MODULE[member][url]}login.php" method="post" name="login" >
用戶名:<input type="text" name="username" size="12"/>
密碼:<input type="password" name="password" size="12"/>
<input type="submit" name="dosubmit" value="登錄" />
<input type="button" name="register" value="注冊" />
<input type="hidden" name="cookietime" value="0"/>
</form>
</div>
<div id="div_logined" style="display:none">
<strong id="logined_username" ></strong>,<a href="{$MODULE[member][url]}">會員中心</a> |
<a href="{if $PHPCMS['uc']}{$MODULE[member][url]}logout.php{else}javascript:logout('{$MODULE[member][url]}logout.php?action=ajax');{/if}">退出登錄</a>
</div>
</div>
</div>
這就是網站首頁頂站的搜索框和登陸框,以及登陸后的效果。
如圖: 
13、<div id="head">
<div id="logo">
<a href="{SITE_URL}"><img src="images/logo.gif" _fcksavedurl=""images/logo.gif"" alt="{$PHPCMS[sitename]}" /></a>
<a href="{SITE_URL}rss.php" target="_blank"><img src="images/rss.jpg" alt="rss信息聚合" /></a></div>
<div class="ad" id="topbanner"><script language="javascript" src="data/js.php?id=1"></script></div>
</div>
<div id="menu">
<ul>
<li><a href="" id="menu_phpcms"><span>首頁</span></a></li>
{tag_一級欄目}
</ul>
</div>
頭部里面的head 包括logo,訂閱標志,banner,導航
效果如圖:

主體頁面index.html代碼解析
1、第一個div <div id="main"></div> 這個主要控制頁面的寬度,框加顯示,具體樣式對應看CSS文件里面的#main這樣就明白了,所以說看了模板就知道CSS樣式是如何的了,這里就告訴需要修改樣式的朋友,要修改哪里,先看那里的模板,然后對應<div>的class或者id去相應的CSS里面查找,然后按著你的想法修改
同時我們也可以這樣實現。如:我要把整個頁面改成960px的寬度,<div id="main" style="width:960px;"></div>這樣改是最保險的,既不會影響全局的CSS,也不會影響其它頁面的,我只是舉個例子,其它的當然也可以這樣改,這樣操作最方便。
2、第二個div <div id="main_l"></div> 這個一看就知道是main里面的left了,這就id是main_l,如果要修改可參考1的說明。這個div里面包含了幻燈片,搜索框,欄目首頁列表。下面我們具體分析:
第一塊:幻燈片 首頁頭條首頁推薦
<div class="cribox_bdr">
<!--幻燈片-->
<div id="slide">{tag_首頁幻燈片}</div>
<!--熱點文章-->
<div id="hotnews" class="f_r"> {tag_網站首頁頭條}
<ul class="text_list">
{tag_網站首頁推薦}
</ul>
</div>
</div>這個里面有注釋一看就懂了,里面也就是三個標簽,{tag_首頁幻燈片} {tag_網站首頁頭條} {tag_網站首頁推薦}這個在PHPCMS2008里面分別通過三個推薦位置來實現的,幻燈片是首頁焦點,首頁頭條就是首頁頭條,首頁推薦就是首頁推薦,這個一看標簽設置就可以明白了,同樣你也可以修改這些設置。標簽設置的教程我以后補上。
第二塊:搜索框
<!--{if isset($MODULE['search'])}-->
這里判斷是否安裝最搜索模塊,安裝了就顯示,否則不顯示
<script type="text/javascript">
function set_type(type)
{
$('#type').val(type);
$('#search_tag>span').removeClass('selected');
$('#type_'+type).addClass('selected');
}
</script> 這里是用JSfunction調用全站搜索的分類,分類設置在模塊管理--全站搜索--分類管理
<form name="search" action="{$MODULE[search][url]}" target="_blank"> 全站搜索的表單里面包含name和動作action
<div class="search_tag_top mar_10">
<p id="search_tag"> <span id="type_all" class="selected" >全部</span> {php $types = cache_read('search_type.php');} 搜索條件的讀取如:圖片,資訊,cache_read()讀取緩存文件函數,只要保存在緩存文件里面的都可以直接用該函數讀取。
{loop $types $type $name} <span id="type_{$type}" >{$name}</span> {/loop} 循環出全站搜索的分類 $types是在cache_read()函數讀取緩存的時候將所有數據保存在該數組里面的,$type就是你在模塊管理--全站搜索--類別管理的類別,如:news。$name是你想要保存的變量,可以自己定義,注意下面的輸出是由這個變量控制的。
</p>
</div>
<div class="cribox_bdr_1">
<input type="hidden" name="type" value="all" id="type"/>
<input type="text" name="q" size="50"/>
<input type="submit" name="s" id="button" value="搜索" />
</div>
</form>
<div class="cribox_btm"></div>
<!--{/if}-->
效果圖:
