XOOPS Modules 开发(3)

8 安裝模組

做到這裡,最簡單的模組已經出爐了!您可以將模組上傳,並開始進入管理介面中的模組管理來進行安裝!

圖 2. 模組安裝畫面
圖 2. 模組安裝畫面


安裝後,您就會看到您的管理區多了一個模組的管理圖示,而且,選單中也會有內容喔!點進去就可以進到管理主程式去新增內容囉!

圖 1. 管理畫面
圖 1. 管理畫面


新增內容後,回到首頁就可以看到選單上也出現了模組名稱,點進去便可以看到主要畫面了!

圖 3. 使用者看的主畫面
圖 3. 使用者看的主畫面


以上是最陽春,但算是小而美的模組。不過,此模組的版面目前得靠修改程式才能作改變,如此,太埋沒 XOOPS2 強大的樣版功能了,所以接著我們就來看看如何將程式與版面分開來!

9 模組樣版設定

每一個模組都可以有許多支程式,而每一支程式都可以搭配一個樣版檔,樣版檔可以讓使用者在不動到主程式的情形下,更改網頁呈現的外觀。樣版檔通常是 HTML 檔,可有可無,端視您的開發需求。如果需要,那麼您必須在 xoops_version.php 加入:

$modversion['templates'][/1]['file'] = 'phone.html';        //模組樣版檔
$modversion['templates'][/1]['description'] = "電話簿的樣版檔";    //樣版檔描述

這也是兩個為一組:

$modversion['templates'][/n]['file'] 是設定樣版檔案名稱;

$modversion['templates'][/n]['description'] 則是設定該樣版的描述。

要特別注意的是,模組的樣版檔一律放在 templates 目錄下,因此,您必須先在您的模組目錄下建立一個名為 templates 的目錄,然後依照您的設定,放置相關的檔案,如:phone.html。

樣版檔一定要和某一個程式配合才有意義,亦即程式來負責運算及輸出內容,樣版檔則專心負責版面呈現。以本例而言,我們希望我們的模組主程式 index.php 來搭配 phone.html 樣版檔,故我們得先改造一下 index.php 的內容,好讓程式得以輸出樣版變數:

<?php
include '../../mainfile.php';
$xoopsOption['template_main'] = 'phone.html';
include XOOPS_ROOT_PATH.'/header.php';
$xoopsTpl->assign('lang_title', "我的電話簿");

$sql_select="select * from ".$xoopsDB->prefix("phone");
$result = $xoopsDB->query($sql_select) or redirect_header($_SERVER['PHP_SELF'], 10,"執行錯誤");

while (list($sn,$name,$tel)=$xoopsDB->fetchRow($result)){
    $data.="
  • $name : $tel";
    }

    $alldata="

    • $data

    ";
    $xoopsTpl->assign('show_tel', $alldata);

    include XOOPS_ROOT_PATH.'/footer.php';
    ?>

其中「$xoopsOption['template_main'] = 'phone.html';」就是告知該程式引用樣版檔的動作,此樣版檔需和 xoops_version.php 中的樣版檔設定一致。

「$xoopsTpl->assign('lang_title', "我的電話簿"); 」和「$xoopsTpl->assign('show_tel', $alldata); 」都是產生樣版變數的動作,屆時會有 lang_title 及 show_tel 兩個樣版變數傳給樣版檔。其用法很簡單:「$xoopsTpl->assign('變數名稱', "變數值");」即可。

phone.html 接收兩個變數,分別為「$lang_title」及「$show_tel」,因此只要利用 <{}> 符號將該變數包起來,然後就任您怎麼編排了!讀取後,顯示畫面就會如您編排的位置以及效果來呈現,其內容看起來如下:

<h2 style="color:blue"><{$lang_title}></h2>
以下是本電話簿目前所收收錄的電話:<br>
<{$show_tel}>

由於我們修改了 xoops_version.php 設定,因此,您必須到管理介面中的管理模組來把該模組「更新」,如此,XOOPS2 才會得到新的設定值,您也才能看到正確的效果喔!

圖 1. 程式已經套用樣版檔了
圖 1. 程式已經套用樣版檔了


有了樣版檔以後,日後若想改變模組的呈現外觀,您就可以不用去動到程式本身了!您只要修改樣版檔即可,很方便吧!至於以上介紹的樣版使用方法,其實只是九 年之一毛,XOOPS2 使用 smarty 樣版引擎,其功能非常多,有興趣的讀者可以至 http://smarty.php.net 去瞧瞧喔!

10 目前整個的檔案結構

最後,整理一下目前整個的檔案結構,以便讓您對整個模組架構有所認識:

圖 1. XOOPS2模組結構精簡版
圖 1. XOOPS2模組結構精簡版
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值