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

目錄

  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 - 麵包屑導航第三層