本次教程相對於以前版本的單頁製作教程的區別:
修復 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,7drc,QQ';
- $metadescription = '該頁面展示 Discuz! Rescue Centre 官方 QQ 羣系,加入本站官方 QQ 羣可及時瞭解掌握最新動態、插件、模版第一手信息。請勿加入多個 QQ 羣,珍惜有限的羣資源。';
- include template('forum/host');//調用單頁模版文件
- ?>
這裏需要注意的是,host 為模板文件名,不需要加.htm 擴展名,模板文件存放於默認風格目錄下的 forum 目錄;
單頁的 php 文件存放於論壇根目錄;
$navtitle = '官方 QQ 羣列表'; 這一句是定義單頁的標題,顯示於瀏覽器頂部的網頁標題
$metakeywords = 'QQ 羣, 官方,discuz,DRC,7drc,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" >
- <div >
- <a href="./" title="{lang homepage}">$_G[setting][bbname]</a><em>»</em>
- <a href="forum.php">$_G[setting][bbname]</a><em>»</em>
- <a href="">$navtitle</a>
- </div>
- </div>
- <div id="ct" >
- <div >
- <div >
- <p style="width:300px; margin:200px auto; text-align:center;"> 這裏是單頁正文內容區域</p>
- </div>
- </div>
- </div>
- <!--{template common/footer}-->
效果如下:

-------------------------------------------------------------------------------------
可 DIY 的單頁模版文件代碼如下:
- <!--{template common/header}-->
- <div id="pt" >
- <div >
- <a href="./" title="{lang homepage}">$_G[setting][bbname]</a><em>»</em>
- <a href="forum.php">$_G[setting][bbname]</a><em>»</em>
- <a href="">$navtitle</a>
- </div>
- </div>
- <div >
- <!--[diy=diy2]--><div id="diy2" ></div><!--[/diy]-->
- </div>
- <div id="ct" >
- <div >
- <div >
- <p style="width:300px; margin:200px auto; text-align:center;"> 這裏是單頁正文內容區域</p>
- </div>
- </div>
- </div>
- <!--{template common/footer}-->
其中:
- <div >
- <!--[diy=diy2]--><div id="diy2" ></div><!--[/diy]-->
- </div>
這段代碼就是 DIY 區域的代碼,之前 X1.5 的單頁教程裏面我們也講到過,可以在單頁的任意位置插入 DIY 區域,即:
- <!--[diy=diy2]--><div id="diy2" ></div><!--[/diy]-->
注意:如果一個頁面要插入多個 DIY 區域,注意修改上面 DIY 區域的編號 ID,幾個 DIY 區域的 ID 編號不能相同。
-------------------------------------------------------------------------------------
帶有右側邊欄的單頁模版文件代碼:
- <!--{subtemplate common/header}-->
- <div id="pt" >
- <div >
- <a href="./" title="{lang homepage}">$_G[setting][bbname]</a><em>»</em>
- <a href="forum.php">$_G[setting][bbname]</a><em>»</em>
- <a href="">$navtitle</a>
- </div>
- </div>
- <div id="ct" >
- <div >
- <div > 標題欄</div>
- <div >
- <p style="width:300px; margin:220px auto; text-align:center;"> 這裏是單頁正文內容區域</p>
- </div>
- </div>
- <div >
- <div >
- <div >
- <h2> 公告欄</h2>
- </div>
- <div >
- <p style="line-height:25px;">
- 這裏可以放一些公告通知類的文字內容這裏可以放一些公告通知類的文字內容這裏可以放一些公告通知類的文字內容這裏可以放一些公告通知類的文字內容這裏可以放一些公告通知類的文字內容這裏可以放一些公告通知類的文字內容
- </p>
- </div>
- </div>
- <div >
- <div >
- <h2> 操作菜單</h2>
- </div>
- <div >
- <ul >
- <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 >
- <div >
- <h2> 版權信息</h2>
- </div>
- <div 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" >
- <div >
- <a href="./" title="{lang homepage}">$_G[setting][bbname]</a><em>»</em>
- <a href="forum.php">$_G[setting][bbname]</a><em>»</em>
- <a href="">$navtitle</a>
- </div>
- </div>
- <div id="ct" >
- <div style="float:right;">
- <div > 標題欄</div>
- <div >
- <p style="width:300px; margin:220px auto; text-align:center;"> 這裏是單頁正文內容區域</p>
- </div>
- </div>
- <div style="float:left;">
- <div >
- <div >
- <h2> 公告欄</h2>
- </div>
- <div >
- <p style="line-height:25px;">
- 這裏可以放一些公告通知類的文字內容這裏可以放一些公告通知類的文字內容這裏可以放一些公告通知類的文字內容這裏可以放一些公告通知類的文字內容這裏可以放一些公告通知類的文字內容這裏可以放一些公告通知類的文字內容
- </p>
- </div>
- </div>
- <div >
- <div >
- <h2> 操作菜單</h2>
- </div>
- <div >
- <ul >
- <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 >
- <div >
- <h2> 版權信息</h2>
- </div>
- <div 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 > 給這個 div 加一個向右浮動,即:
- <div style="float:right;">
再給 <div > 這個 div 加一個向左浮動的 CSS 樣式,即:
- <div style="float:left;">
就是説只是左右對調一下。
演示效果如下:

-------------------------------------------------------------------------------------
帶有標籤選項卡的單頁模版:
- <!--{subtemplate common/header}-->
- <div id="pt" >
- <div >
- <a href="./" title="{lang homepage}">$_G[setting][bbname]</a><em>»</em>
- <a href="forum.php">$_G[setting][bbname]</a><em>»</em>
- <a href="">$navtitle</a>
- </div>
- </div>
- <div id="ct" >
- <div style="float:right;">
- <div > 標題欄</div>
- <div >
- <ul >
- <li <!--{if
empty($_G[gp_viewtype]) || $_G[gp_viewtype] ==
'new'}--><!--{/if}-->><a
href="test.php?viewtype=new"> 最新發布</a></li> - <li <!--{if
$_G[gp_viewtype] == 'view'}--><!--{/if}-->><a
href="test.php?viewtype=view"> 瀏覽排行</a></li> - <li <!--{if
$_G[gp_viewtype] == 'comment'}--><!--{/if}-->><a
href="test.php?viewtype=comment"> 回覆排行</a></li> - <li <!--{if $_G[gp_viewtype] ==
'rate'}--><!--{/if}-->><a
href="test.php?viewtype=rate"> 評分排行</a></li> - </ul>
- <p style="width:300px; margin:200px auto; text-align:center;"> 這裏是單頁正文內容區域</p>
- </div>
- </div>
- <div style="float:left;">
- <div >
- <div >
- <h2> 公告欄</h2>
- </div>
- <div >
- <p style="line-height:25px;">
- 這裏可以放一些公告通知類的文字內容這裏可以放一些公告通知類的文字內容這裏可以放一些公告通知類的文字內容這裏可以放一些公告通知類的文字內容這裏可以放一些公告通知類的文字內容這裏可以放一些公告通知類的文字內容
- </p>
- </div>
- </div>
- <div >
- <div >
- <h2> 操作菜單</h2>
- </div>
- <div >
- <ul >
- <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 >
- <div >
- <h2> 版權信息</h2>
- </div>
- <div 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 >
- <li <!--{if
empty($_G[gp_viewtype]) || $_G[gp_viewtype] ==
'new'}--><!--{/if}-->><a
href="test.php?viewtype=new"> 最新發布</a></li> - <li <!--{if
$_G[gp_viewtype] == 'view'}--><!--{/if}-->><a
href="test.php?viewtype=view"> 瀏覽排行</a></li> - <li <!--{if
$_G[gp_viewtype] == 'comment'}--><!--{/if}-->><a
href="test.php?viewtype=comment"> 回覆排行</a></li> - <li <!--{if $_G[gp_viewtype] ==
'rate'}--><!--{/if}-->><a
href="test.php?viewtype=rate"> 評分排行</a></li> - </ul>
效果如下:

此次教程整理結束。