Xoops的Config資料表主要是用來儲存一些Xoops網站的設定值,也包括Xoops模組的偏好設定,如果要在模組中取得Config資料表中的conf_value就簡單多了,只需要使用 $xoopsModuleConfig['config_name']即可,但如果是要在全域中使用,例如網站佈景首頁或全部的頁面,那這方法就沒用了,需要改用以下的方法取的conf_value值。
假設我們要取得Config資料表中conf_name為appId 的conf_value數值:
appId 為tad_login的偏好設定欄位。
global $xoopsConfig;
function tad_loginappid() {
$modhandler = xoops_gethandler('module');
$config_handler =xoops_gethandler('config');
$xoopsModule = &$modhandler->getByDirname("tad_login"); //查詢欄位所屬模組
$modConfig= &$config_handler->getConfigsByCat(0, $xoopsModule->getVar('mid'));
$xoopsModuleConfig = & $config_handler->getConfigsByCat(0, $mid);
return $modConfig['appId']; //陣列帶出appId欄位值
}
$tad_loginappid=tad_loginappid();
global $xoopsDB;
$sql = "select mid from " . $xoopsDB->prefix('config') . " where `conf_name ` = 'appId'";
$result = $xoopsDB -> query($sql) or die($sql);
list($conf_value ) = $xoopsDB -> fetchRow($result);
假設我們要取得Config資料表中conf_name為appId 的conf_value數值:
appId 為tad_login的偏好設定欄位。
global $xoopsConfig;
function tad_loginappid() {
$modhandler = xoops_gethandler('module');
$config_handler =xoops_gethandler('config');
$xoopsModule = &$modhandler->getByDirname("tad_login"); //查詢欄位所屬模組
$modConfig= &$config_handler->getConfigsByCat(0, $xoopsModule->getVar('mid'));
$xoopsModuleConfig = & $config_handler->getConfigsByCat(0, $mid);
return $modConfig['appId']; //陣列帶出appId欄位值
}
$tad_loginappid=tad_loginappid();
以上為使用Xoops建構函式的方法取得conf_value數值,不過我個人比較喜歡用撈資料表方式來取得conf_value值,大家可以參考看看喔!!
$sql = "select mid from " . $xoopsDB->prefix('config') . " where `conf_name ` = 'appId'";
$result = $xoopsDB -> query($sql) or die($sql);
list($conf_value ) = $xoopsDB -> fetchRow($result);
一樣可以取得appId 的conf_value數值,好像還比Xoops的建構函式還簡單!
教學撰寫:徐嘉裕 Neil hsu
留言
張貼留言