本次教程相對於以前版本的單頁製作教程的區別:
修復Discuz!X2單頁DIY後無法保存的問題;
首先,單頁包括該單頁的php文件和該單頁的模板(.htm)文件,比如:host.php、host.htm
普通單頁的php文件內容如下:
- <?php
- define('CURSCRIPT', 'test');
- require './source/class/class_core.php';//引入系統核心文件
- $discuz = & discuz_core::instance();//以下代碼爲創建及初始化對象
- $discuz->init();
- $navtitle = '官方QQ羣列表';
- $metakeywords = 'QQ羣,官方,discuz,DRC,zzccoo,QQ';
- $metadescription = '該頁面展示Discuz! Rescue Centre 官方QQ羣系,加入本站官方QQ羣可及時瞭解掌握最新動態、插件、模版第一手信息。請勿加入多個QQ羣,珍惜有限的羣資源。';
- include template('forum/host');//調用單頁模版文件
- ?>
這裏需要注意的是,host爲模板文件名,不需要加.htm擴展名,模板文件存放於默認風格目錄下的forum目錄;
單頁的php文件存放於論壇根目錄;
$navtitle = '官方QQ羣列表'; 這一句是定義單頁的標題,顯示於瀏覽器頂部的網頁標題
$metakeywords = 'QQ羣,官方,discuz,DRC,zzccoo,QQ'; 是單頁的關鍵詞信息
$metadescription 是單頁的描述信息。
可DIY的單頁PHP文件代碼內容如下:
- <?php
- define('CURSCRIPT', 'test');
- require './source/class/class_core.php';//引入系統核心文件
- $discuz = & discuz_core::instance();//以下代碼爲創建及初始化對象
- $discuz->init();
- loadcache('diytemplatename');
- $navtitle = '官方QQ羣列表';
- $metakeywords = 'QQ羣,官方,discuz,DRC,7drc,QQ';
- $metadescription = '該頁面展示Discuz! Rescue Centre 官方QQ羣系,加入本站官方QQ羣可及時瞭解掌握最新動態、插件、模版第一手信息。請勿加入多個QQ羣,珍惜有限的羣資源。';
- include template('diy:forum/host');//調用單頁模版文件
- ?>
注:其中 loadcache('diytemplatename'); 爲Discuz!X2對DIY這一塊做的更新,DIY要載入緩存,所以以前X1.5的單頁製作教程做出來的單頁DIY會無法保存。DIY的單頁模版文件,修改單頁模版內容後需要更新緩存才能刷新出來。
php文件創建完畢,現在開始創建模版文件,基本代碼如下:
普通單頁的模版文件代碼:
- <!--{template common/header}-->
- <div id="pt" class="bm cl">
- <div class="z">
- <a href="./" class="nvhm" title="{lang homepage}">$_G[setting][bbname]</a><em>»</em>
- <a href="forum.php">$_G[setting][bbname]</a><em>»</em>
- <a href="javascript:;">$navtitle</a>
- </div>
- </div>
- <div id="ct" class="wp cl">
- <div class="mn bm cl">
- <div class="bm_c">
- <p style="width:300px; margin:200px auto; text-align:center;">這裏是單頁正文內容區域</p>
- </div>
- </div>
- </div>
- <!--{template common/footer}-->
效果圖如下:
可DIY的單頁模版文件代碼如下:
- <!--{template common/header}-->
- <div id="pt" class="bm cl">
- <div class="z">
- <a href="./" class="nvhm" title="{lang homepage}">$_G[setting][bbname]</a><em>»</em>
- <a href="forum.php">$_G[setting][bbname]</a><em>»</em>
- <a href="javascript:;">$navtitle</a>
- </div>
- </div>
- <div class="wp">
- <!--[diy=diy2]--><div id="diy2" class="area"></div><!--[/diy]-->
- </div>
- <div id="ct" class="wp cl">
- <div class="mn bm cl">
- <div class="bm_c">
- <p style="width:300px; margin:200px auto; text-align:center;">這裏是單頁正文內容區域</p>
- </div>
- </div>
- </div>
- <!--{template common/footer}-->
其中:
- <div class="wp">
- <!--[diy=diy2]--><div id="diy2" class="area"></div><!--[/diy]-->
- </div>
這段代碼就是DIY區域的代碼,之前X1.5的單頁教程裏面我們也講到過,可以在單頁的任意位置插入DIY區域,即:
- <!--[diy=diy2]--><div id="diy2" class="area"></div><!--[/diy]-->
注意:如果一個頁面要插入多個DIY區域,注意修改上面DIY區域的編號ID,幾個DIY區域的ID編號不能相同。
帶有右側邊欄的單頁模版文件代碼:
- <!--{subtemplate common/header}-->
- <div id="pt" class="bm cl">
- <div class="z">
- <a href="./" class="nvhm" title="{lang homepage}">$_G[setting][bbname]</a><em>»</em>
- <a href="forum.php">$_G[setting][bbname]</a><em>»</em>
- <a href="javascript:;">$navtitle</a>
- </div>
- </div>
- <div id="ct" class="wp cl ct2">
- <div class="mn bm cl">
- <div class="bm_h">標題欄</div>
- <div class="bm_c">
- <p style="width:300px; margin:220px auto; text-align:center;">這裏是單頁正文內容區域</p>
- </div>
- </div>
- <div class="sd">
- <div class="bm">
- <div class="bm_h">
- <h2>公告欄</h2>
- </div>
- <div class="bm_c">
- <p class="xl xl2 cl" style="line-height:25px;">
- 這裏可以放一些公告通知類的文字內容這裏可以放一些公告通知類的文字內容這裏可以放一些公告通知類的文字內容這裏可以放一些公告通知類的文字內容這裏可以放一些公告通知類的文字內容這裏可以放一些公告通知類的文字內容
- </p>
- </div>
- </div>
- <div class="bm">
- <div class="bm_h">
- <h2>操作菜單</h2>
- </div>
- <div class="bm_c">
- <ul class="xl xl2 cl">
- <li><a href="#">測試菜單一</a></li>
- <li><a href="#">測試菜單二</a></li>
- <li><a href="#">測試菜單三</a></li>
- <li><a href="#">測試菜單四</a></li>
- <li><a href="#">測試菜單五</a></li>
- <li><a href="#">測試菜單六</a></li>
- </ul>
- </div>
- </div>
- <div class="bm">
- <div class="bm_h">
- <h2>版權信息</h2>
- </div>
- <div class="bm_c" style="line-height:25px;">
- <ul>
- <li>作者:<a href="http://www.mutoulee.cn" target="_blank">體無完膚</a></li>
- <li>網站:<a href="http://bbs.7drc.com" target="_blank">bbs.7drc.com</a></li>
- <li>版權:Discuz! Rescue Centre</li>
- </ul>
- </div>
- </div>
- </div>
- </div>
- <!--{subtemplate common/footer}-->
效果圖如下:
帶有左側邊欄的單頁模版文件代碼:
- <!--{subtemplate common/header}-->
- <div id="pt" class="bm cl">
- <div class="z">
- <a href="./" class="nvhm" title="{lang homepage}">$_G[setting][bbname]</a><em>»</em>
- <a href="forum.php">$_G[setting][bbname]</a><em>»</em>
- <a href="javascript:;">$navtitle</a>
- </div>
- </div>
- <div id="ct" class="wp cl ct2">
- <div class="mn bm cl" style="float:right;">
- <div class="bm_h">標題欄</div>
- <div class="bm_c">
- <p style="width:300px; margin:220px auto; text-align:center;">這裏是單頁正文內容區域</p>
- </div>
- </div>
- <div class="sd" style="float:left;">
- <div class="bm">
- <div class="bm_h">
- <h2>公告欄</h2>
- </div>
- <div class="bm_c">
- <p class="xl xl2 cl" style="line-height:25px;">
- 這裏可以放一些公告通知類的文字內容這裏可以放一些公告通知類的文字內容這裏可以放一些公告通知類的文字內容這裏可以放一些公告通知類的文字內容這裏可以放一些公告通知類的文字內容這裏可以放一些公告通知類的文字內容
- </p>
- </div>
- </div>
- <div class="bm">
- <div class="bm_h">
- <h2>操作菜單</h2>
- </div>
- <div class="bm_c">
- <ul class="xl xl2 cl">
- <li><a href="#">測試菜單一</a></li>
- <li><a href="#">測試菜單二</a></li>
- <li><a href="#">測試菜單三</a></li>
- <li><a href="#">測試菜單四</a></li>
- <li><a href="#">測試菜單五</a></li>
- <li><a href="#">測試菜單六</a></li>
- </ul>
- </div>
- </div>
- <div class="bm">
- <div class="bm_h">
- <h2>版權信息</h2>
- </div>
- <div class="bm_c" style="line-height:25px;">
- <ul>
- <li>作者:<a href="http://www.mutoulee.cn" target="_blank">體無完膚</a></li>
- <li>網站:<a href="http://bbs.7drc.com" target="_blank">bbs.7drc.com</a></li>
- <li>版權:Discuz! Rescue Centre</li>
- </ul>
- </div>
- </div>
- </div>
- </div>
- <!--{subtemplate common/footer}-->
注意觀察這個左側邊欄的模版代碼和右側邊欄的模版代碼,可以發現,代碼其實都一樣,只是更改一下CSS樣式。
<div class="mn bm cl"> 給這個div加一個向右浮動,即:
- <div class="mn bm cl" style="float:right;">
再給 <div class="sd"> 這個div加一個向左浮動的CSS樣式,即:
- <div class="sd" style="float:left;">
就是說只是左右對調一下。
演示效果如下:
帶有標籤選項卡的單頁模版:
- <!--{subtemplate common/header}-->
- <div id="pt" class="bm cl">
- <div class="z">
- <a href="./" class="nvhm" title="{lang homepage}">$_G[setting][bbname]</a><em>»</em>
- <a href="forum.php">$_G[setting][bbname]</a><em>»</em>
- <a href="javascript:;">$navtitle</a>
- </div>
- </div>
- <div id="ct" class="wp cl ct2">
- <div class="mn bm cl" style="float:right;">
- <div class="bm_h">標題欄</div>
- <div class="bm_c">
- <ul class="tb cl">
- <li <!--{if emptyempty($_G[gp_viewtype]) || $_G[gp_viewtype] == 'new'}-->class="a"<!--{/if}-->><a href="test.php?viewtype=new">最新發布</a></li>
- <li <!--{if $_G[gp_viewtype] == 'view'}-->class="a"<!--{/if}-->><a href="test.php?viewtype=view">瀏覽排行</a></li>
- <li <!--{if $_G[gp_viewtype] == 'comment'}-->class="a"<!--{/if}-->><a href="test.php?viewtype=comment">回覆排行</a></li>
- <li <!--{if $_G[gp_viewtype] == 'rate'}-->class="a"<!--{/if}-->><a href="test.php?viewtype=rate">評分排行</a></li>
- </ul>
- <p style="width:300px; margin:200px auto; text-align:center;">這裏是單頁正文內容區域</p>
- </div>
- </div>
- <div class="sd" style="float:left;">
- <div class="bm">
- <div class="bm_h">
- <h2>公告欄</h2>
- </div>
- <div class="bm_c">
- <p class="xl xl2 cl" style="line-height:25px;">
- 這裏可以放一些公告通知類的文字內容這裏可以放一些公告通知類的文字內容這裏可以放一些公告通知類的文字內容這裏可以放一些公告通知類的文字內容這裏可以放一些公告通知類的文字內容這裏可以放一些公告通知類的文字內容
- </p>
- </div>
- </div>
- <div class="bm">
- <div class="bm_h">
- <h2>操作菜單</h2>
- </div>
- <div class="bm_c">
- <ul class="xl xl2 cl">
- <li><a href="#">測試菜單一</a></li>
- <li><a href="#">測試菜單二</a></li>
- <li><a href="#">測試菜單三</a></li>
- <li><a href="#">測試菜單四</a></li>
- <li><a href="#">測試菜單五</a></li>
- <li><a href="#">測試菜單六</a></li>
- </ul>
- </div>
- </div>
- <div class="bm">
- <div class="bm_h">
- <h2>版權信息</h2>
- </div>
- <div class="bm_c" style="line-height:25px;">
- <ul>
- <li>作者:<a href="http://www.mutoulee.cn" target="_blank">體無完膚</a></li>
- <li>網站:<a href="http://bbs.7drc.com" target="_blank">bbs.7drc.com</a></li>
- <li>版權:Discuz! Rescue Centre</li>
- </ul>
- </div>
- </div>
- </div>
- </div>
- <!--{subtemplate common/footer}-->
注意觀察你會發現,選項卡這一部分跟X1.5一樣的,就是在模版的正文區域的div內增加一段代碼:
- <ul class="tb cl">
- <li <!--{if emptyempty($_G[gp_viewtype]) || $_G[gp_viewtype] == 'new'}-->class="a"<!--{/if}-->><a href="test.php?viewtype=new">最新發布</a></li>
- <li <!--{if $_G[gp_viewtype] == 'view'}-->class="a"<!--{/if}-->><a href="test.php?viewtype=view">瀏覽排行</a></li>
- <li <!--{if $_G[gp_viewtype] == 'comment'}-->class="a"<!--{/if}-->><a href="test.php?viewtype=comment">回覆排行</a></li>
- <li <!--{if $_G[gp_viewtype] == 'rate'}-->class="a"<!--{/if}-->><a href="test.php?viewtype=rate">評分排行</a></li>
- </ul>
效果如下圖:
另外還有單頁裏面的分頁(多頁)顯示,跟之前X1.5的單頁教程一樣,大家可參照X1.5的來做