當您在編寫背景時,需要對幾個常用背景顯示函數進行詳細的了解
下面的函數講解按照重要性、常用性進行排序
目錄
showsetting()表單顯示
cpmsg()提示消息
showformheader()建立表單頭
showformfooter()建立表單尾
showtableheader()建立表格頭
showtablefooter()建立表格尾
showtablerow()建立清單式頁面的行
showsubmit()建立送出按鈕
showhiddenfields()建立隐藏表單域
showsubmenu()二級導航欄顯示
shownav()面包屑導航欄顯示及二級導航欄标題
showsetting()表單顯示
傳回值:無
參數:
$setname - 指定輸出标題,如:setting_basic_bbname, 自動比對描述文字為:setting_basic_bbname_comment,comment形式文字可以在./source/language/lang_admincp.php語言包中添加
$varname - 指定表單的name值,如settingnew[bbname]
$value - 指定表單預設值\變量
$type - 表單樣式
radio單選
text文本、password密碼、number數字
file上傳檔案
filetext 上傳檔案或線上檔案切換型表單
textarea 多行文本
select 選擇框
mradio 進階單選模式
mcheckbox 進階多選模式
binmcheckbox 二進制數值多選模式
mselect 進階選擇框模式
color 顔色選擇
calendar 日期選擇
multiply多表單型,daterange時間範圍
其他未在上述樣式中出現的$type均獨立輸出
$disabled - 是否不可修改
$hidden - 是否隐藏
$comment - 強制描述文字
$extra - 表單擴充屬性
$setid - 用于拼接表單外層Div的id
使用方法舉例:
以文本形式輸出表單(站點名稱 text):
showsetting('setting_basic_bbname', 'settingnew[bbname]', $setting['bbname'], 'text');
以單選形式輸出表單(顯示授權資訊連結 radio):
showsetting('setting_basic_boardlicensed', 'settingnew[boardlicensed]', $setting['boardlicensed'], 'radio');
以多行文本形式輸出表單(網站第三方統計代碼 textarea):
showsetting('setting_basic_stat', 'settingnew[statcode]', $setting['statcode'], 'textarea');
以進階單選形式輸出表單(新使用者注冊驗證 mradio)
showsetting('setting_access_register_verify', array('settingnew[regverify]', array(
array(0, $lang['none'], array('regverifyext' => 'none')),
array(1, $lang['setting_access_register_verify_email'], array('regverifyext' => '')),
array(2, $lang['setting_access_register_verify_manual'], array('regverifyext' => ''))
)), $setting['regverify'], 'mradio');
以進階多選形式輸出表單('允許新使用者注冊 mcheckbox)
showsetting('setting_access_register_status', array('settingnew[regstatus]', array(
array('open', $lang['setting_access_register_open']),
array('invite', $lang['setting_access_register_invite'], 'showinvite'),
$_G['setting']['connect']['allow'] ? array('connect', $lang['setting_access_register_connect'], 'showconnect') : array(),
)), $regstatus, 'mcheckbox');
cpmsg()提示消息
傳回值:無
參數:
$message - lang_admincp_msg.php 語言包中需要輸出的key
$url - 提示資訊後跳轉的頁面,留白則傳回上一頁
$type - 特殊提示資訊時指定頁面的提示樣式,可選參數:succeed、error、download、loadingform
$values - 為語言包中的變量關鍵詞指定值,以數組形式輸入
$extra - 消息文字擴充
$halt - 是否輸出“Discuz! 提示”标題
使用方法舉例:
成功提示資訊
cpmsg('tasks_installed', 'action=tasks&operation=type', 'succeed');
錯誤提示資訊,并傳遞變量(cachethreaddir為要傳遞如語言包中的變量關鍵詞)
cpmsg('cachethread_dir_noexists', '', 'error', array('cachethreaddir' => $settingnew['cachethreaddir']));
showformheader()建立表單頭
傳回值:無
參數:
$action - 表單action的一部分,程式會自動添加 admincp.php?action= 這些内容
$extra - 表單附加屬性,可以是樣式等
$name - 表單的name和id
$method - 表單送出方式
使用方法舉例:
合并版塊表單:
showformheader('forums&operation=merge');
showformfooter()建立表單尾
無傳回值、無參數
用于接上showformheader()函數進行收尾工作
showtableheader()建立表格頭
傳回值:無
參數:
$title - 如果輸入title則顯示标題,class為header,否則僅顯示一個table頭
$classname - 定義此輸出表格的CSS樣式
$extra - 表格擴充屬性
$titlespan - 表格列數
使用方法執行個體:
showtableheader('forums_edit_posts', 'nobottom');
showtablefooter()建立表格尾
用于接上showformheader()函數進行收尾工作
showtablerow()建立清單式頁面的行
傳回值:有
參數:
$trstyle - 此行 tr 标簽的格式定義,如 class="partition"
$tdstyle - TD 标簽的格式定義,如 class,colspan 等
$tdtext - TD内顯示的内容
$return 是否傳回值
此函數多用于循環中,用來逐行建立一個有規律的資料清單如:論壇版塊清單等
使用方法舉例 ./source/admincp/admincp_forums.php
showtablerow('', array('class="td25"', 'class="td28"'), array(
' ',
'',
"$mod[username]",
$modgroups[$mod['groupid']],
cplang($mod['inherited'] ? 'yes' : 'no'),
));
showsubmit()建立送出按鈕
傳回值:無
$name - 定義送出按鈕的name值
$value - 定義按鈕的文字值
$before - 根據此按鈕之前的屬性來輸出樣式
$after - 根據此按鈕之後的屬性來輸出樣式
$floatright - 是否有浮動
$entersubmit - 是否使用回車定義按鈕送出動作
showhiddenfields()建立隐藏表單域
傳回值:無
參數:
$hiddenfields 以數組形式傳入,循環輸出隐藏表單域
showsubmenu()二級導航欄顯示
傳回值:無
參數:
$title - 二級導航的目前欄标題
$menus - 多個子導航
使用方法舉例:
背景-使用者-會員管理
showsubmenu('nav_members', array(
array('search', 'members&operation=search', 1),
array('clean', 'members&operation=clean', 0),
array('nav_repeat', 'members&operation=repeat', 0),
));
shownav()面包屑導航欄顯示及二級導航欄标題
傳回值:無
參數:
$header - 導航起點
$menu - 子導航标題
$nav - 面包屑導航第三層
使用方法舉例:
背景-營運-電子商務
shownav('extended', 'nav_ec', 'nav_ec_config');
以上列舉的均為最常用背景函數,仔細了解這些函數的使用已經能夠滿足您對 Discuz! X 系列版
注:當中所有的函數都在function_admincp.php檔案裡(x2.5版本)