當您在編寫後台時,需要對幾個常用後台顯示函數進行詳細的瞭解
下面的函數講解按照重要性、常用性進行排序

目錄

  1. showsetting() 表單顯示
  2. cpmsg() 提示消息
  3. showformheader() 創建表單頭
  4. showformfooter() 創建表單尾
  5. showtableheader() 創建表格頭
  6. showtablefooter() 創建表格尾
  7. showtablerow() 創建列表式頁面的行
  8. showsubmit() 創建提交按鈕
  9. showhiddenfields() 創建隱藏表單域
  10. showsubmenu() 二級導航欄顯示
  11. shownav() 麪包屑導航欄顯示及二級導航欄標題

showsetting() 表單顯示
返回值:無
參數:

  1. $setname -
    指定輸出標題,如:setting_basic_bbname,
    自動匹配描述文字為:setting_basic_bbname_comment,comment 形式文字可以在./source/language
    /lang_admincp.php 語言包中添加
  2. $varname - 指定表單的 name 值,如 settingnew[bbname]
  3. $value - 指定表單默認值變量
  4. $type - 表單樣式
  5. radio 單選
  6. text 文本、 password 密碼、 number 數字
  7. file 上傳文件
  8. filetext 上傳文件或在線文件切換型表單
  9. textarea 多行文本
  10. select 選擇框
  11. mradio 高級單選模式
  12. mcheckbox 高級多選模式
  13. binmcheckbox 二進制數值多選模式
  14. mselect 高級選擇框模式
  15. color 顏色選擇
  16. calendar 日期選擇
  17. multiply 多表單型,daterange 時間範圍
  18. 其他未在上述樣式**現的 $type 均獨立輸出
  19. $disabled - 是否不可修改
  20. $hidden - 是否隱藏
  21. $comment - 強制描述文字
  22. $extra - 表單擴展屬性
  23. $setid - 用於拼接表單外層 Div 的 id

使用方法舉例:
以文本形式輸出表單 (站點名稱 text):

  1. showsetting('setting_basic_bbname', 'settingnew[bbname]', $setting['bbname'], 'text');

以單選形式輸出表單 (顯示授權信息鏈接 radio):

  1. showsetting('setting_basic_boardlicensed', 'settingnew[boardlicensed]', $setting['boardlicensed'], 'radio');

以多行文本形式輸出表單 (網站第三方統計代碼 textarea):

  1. showsetting('setting_basic_stat', 'settingnew[statcode]', $setting['statcode'], 'textarea');

以高級單選形式輸出表單 (新用户註冊驗證 mradio)

  1. showsetting('setting_access_register_verify', array('settingnew[regverify]', array(
  2. array(0, $lang['none'], array('regverifyext' => 'none')),
  3. array(1, $lang['setting_access_register_verify_email'], array('regverifyext' => '')),
  4. array(2, $lang['setting_access_register_verify_manual'], array('regverifyext' => ''))
  5. )), $setting['regverify'], 'mradio');

以高級多選形式輸出表單 ('允許新用户註冊 mcheckbox)

  1. showsetting('setting_access_register_status', array('settingnew[regstatus]', array(
  2. array('open', $lang['setting_access_register_open']),
  3. array('invite', $lang['setting_access_register_invite'], 'showinvite'),
  4. $_G['setting']['connect']['allow'] ? array('connect', $lang['setting_access_register_connect'], 'showconnect') : array(),
  5. )), $regstatus, 'mcheckbox');

cpmsg() 提示消息
返回值:無
參數:

  1. $message - lang_admincp_msg.php 語言包中需要輸出的 key
  2. $url - 提示信息後跳轉的頁面,留空則返回上一頁
  3. $type - 特殊提示信息時指定頁面的提示樣式,可選參數:succeed 、 error 、 download 、 loadingform
  4. $values - 為語言包中的變量關鍵詞指定值,以數組形式輸入
  5. $extra - 消息文字擴展
  6. $halt - 是否輸出 「Discuz! 提示」 標題

使用方法舉例:
成功提示信息

  1. cpmsg('tasks_installed', 'action=tasks&operation=type', 'succeed');

錯誤提示信息,並傳遞變量 (cachethreaddir 為要傳遞如語言包中的變量關鍵詞)

  1. cpmsg('cachethread_dir_noexists', '', 'error', array('cachethreaddir' => $settingnew['cachethreaddir']));

showformheader() 創建表單頭
返回值:無
參數:

  1. $action - 表單 action 的一部分,程序會自動添加 admincp.php?action= 這些內容
  2. $extra - 表單附加屬性,可以是樣式等
  3. $name - 表單的 name 和 id
  4. $method - 表單提交方式

使用方法舉例:
合併版塊表單:

  1. showformheader('forums&operation=merge');

showformfooter() 創建表單尾
無返回值、無參數
用於接上 showformheader() 函數進行收尾工作

showtableheader() 創建表格頭
返回值:無
參數:

  1. $title - 如果輸入 title 則顯示標題,class 為 header,否則僅顯示一個 table 頭
  2. $classname - 定義此輸出表格的 CSS 樣式
  3. $extra - 表格擴展屬性
  4. $titlespan - 表格列數

使用方法實例:

  1. showtableheader('forums_edit_posts', 'nobottom');

showtablefooter() 創建表格尾
用於接上 showformheader() 函數進行收尾工作

showtablerow() 創建列表式頁面的行
返回值:有
參數:

  1. $trstyle - 此行 tr 標籤的格式定義,如
  2. $tdstyle <array> - TD 標籤的格式定義,如 class,colspan 等
  3. $tdtext <array> - TD 內顯示的內容
  4. $return 是否返回值

此函數多用於循環中,用來逐行創建一個有規律的數據列表如:論壇版塊列表等
使用方法舉例 ./source/admincp/admincp_forums.php

  1. showtablerow('', array('', ''), array(
  2. '<input type="checkbox" name="delete[]"
    value="'.$mod[uid].'"'.($mod['inherited'] ? ' disabled' : '').' />',
  3. '<input type="text" name="displayordernew['.$mod[uid].']" value="'.$mod[displayorder].'" size="2" />',
  4. "<a
    href="".ADMINSCRIPT."?mod=forum&action=members&operation=group&uid=$mod[uid]"
    target="_blank">$mod[username]</a>",
  5. $modgroups[$mod['groupid']],
  6. cplang($mod['inherited'] ? 'yes' : 'no'),
  7. ));

showsubmit() 創建提交按鈕
返回值:無

  1. $name - 定義提交按鈕的 name 值
  2. $value - 定義按鈕的文字值
  3. $before - 根據此按鈕之前的屬性來輸出樣式
  4. $after - 根據此按鈕之後的屬性來輸出樣式
  5. $floatright - 是否有浮動
  6. $entersubmit - 是否使用回車定義按鈕提交動作

showhiddenfields() 創建隱藏表單域
返回值:無
參數:

  1. $hiddenfields <array> 以數組形式傳入,循環輸出隱藏表單域

showsubmenu() 二級導航欄顯示
返回值:無
參數:

  1. $title - 二級導航的當前欄標題
  2. $menus <array> - 多個子導航

使用方法舉例:
後台-用户-會員管理

  1. showsubmenu('nav_members', array(
  2. array('search', 'members&operation=search', 1),
  3. array('clean', 'members&operation=clean', 0),
  4. array('nav_repeat', 'members&operation=repeat', 0),
  5. ));

shownav() 麪包屑導航欄顯示及二級導航欄標題
返回值:無
參數:

  1. $header - 導航起點
  2. $menu - 子導航標題
  3. $nav - 麪包屑導航第三層