Toggle main menu visibility
下載輕鬆架
套件下載
使用手冊
發問討論
網站地圖
:::
登入
登入
帳號
密碼
登入
:::
所有書籍
「XOOPS快速模組開發」目錄
MarkDown
3-2 修改 interface.php
1. 模組產生器的使用概念
1-1 安裝XOOPS環境
1-2 安裝模組產生器
1-3 安裝 VSCode 開發工具
2. 投稿模組實做
2-1 第 1 步 基本設定
2-2 第 2 步 資料表設定
2-3 第 3 步 後台設定
2-4 第 4 步 前台設定
2-5 第 5 步 區塊設定
2-6 第 6 步 圖示設定
2-7 第 7 步 圖示預覽
2-8 第 8 步 設定欄位
2-9 第 9 步 產生模組
2-10 安裝模組
3. 用VSCode來編輯模組並認識模組結構
3-1 整理 xoops_version.php
3-2 修改 interface.php
3-3 用 Tools::get_session() 來記住登入者身份
3-4 讓 setup.php 只有有權限者才能進入
3-5 用 $op 來自動載入對應的子樣板檔
3-6 系統的七個主要動作
4. create 表單界面
4-1 調整建立投稿主題的表單界面
4-2 create() 建立表單的物件方法
5. store 新增儲存
5-1 store() 儲存資料的物件方法
6. show 顯示一筆資料
6-1 調整顯示單一投稿主題的界面
6-2 show() 顯示某筆資料的物件方法
7. edit 修改功能
8. update 更新資料
8-1 update() 更新資料的物件方法
9. index 顯示所有資料
9-1 調整顯示所有投稿主題的界面
9-2 index() 顯示所有資料的物件方法
10. 開始修改「線上投稿」畫面
10-1 修改學生看到的所有投稿主題畫面
10-2 投稿的 create 表單界面及物件
10-3 儲存學生投稿稿件
10-4 列出某主題下的所有文章
10-5 顯示學生的投稿文章
10-6 讓老師可以審核學生文章
10-7 讓學生可以修改投稿文章
11. 偏好設定、區塊、搜尋等功能
11-1 偏好設定新增「可審核」的群組設定
11-2 建立搜尋工具
11-3 建立區塊
12. XOOPS的各種內建物件
12-1 關於 Xmf\Request 變數過濾物件
12-2 $xoopsUser 使用者物件
12-3 關於 $xoopsDB 資料庫物件
12-4 關於 $xoopsTpl 樣板物件
12-5 關於各種XOOPS會用到超級全域變數,如 $GLOBALS['xoops']
3-4 讓 setup.php 只有有權限者才能進入
XOOPS快速模組開發 =========== 1. `class/Tools.php` 是該模組的一個常用共同物件,取代早期的 function.php 共同函數檔 2. 要使用裡面的物件方法(函數),可以直接使用以下方式來呼叫 ```php XoopsModules\Submission\Tools::get_session(); ``` 不過,這樣實在太長了,為了簡短,可以在程式上方加入: ```php use XoopsModules\Submission\Tools; ``` 如此,便可用以下的方式來呼叫物件方法 ```php Tools::get_session(); ``` 3. `get_session()` 主要用來判斷登入者身份,若有其他額外身份,可以在此修改,這部份晚點會講到。 ```php //取得session public static function get_session() { global $xoopsUser; //判斷是否對該模組有管理權限 if (!isset($_SESSION['submission_adm'])) { $_SESSION['submission_adm'] = isset($xoopsUser) && \is_object($xoopsUser) ? $xoopsUser->isAdmin() : false; } if (!isset($_SESSION['now_user'])) { $_SESSION['now_user'] = ($xoopsUser) ? $xoopsUser->toArray() : []; } if ($_SESSION['now_user']) { if (!isset($_SESSION['SchoolCode'])) { if ($_REQUEST['SchoolCode']) { $_SESSION['SchoolCode'] = Request::getString('SchoolCode'); } else { $_SESSION['SchoolCode'] = ($xoopsUser) ? $xoopsUser->user_intrest() : false; } } } } ``` 4. 目前只要知道,該方法會產生數個session紀錄: 1. `$_SESSION['submission_adm']` 是紀錄該操作者是否有此模組管理權限 2. `$_SESSION['now_user']`則是目前操作的的詳細資訊,包括姓名、Email等各種資訊 3. `$_SESSION['SchoolCode']` 是紀錄該操作者的學校代碼(若有的話) 5. 其他模組也可能會有 `$_SESSION['now_user'] `及 `$_SESSION['SchoolCode']`,如果已經有,則不再重複紀錄。 6. 若是想看看有哪些 session 內容,可以用以下方式來傾印出所有值: ```php // 程式上方若沒有這行,記得加上才能使用 use XoopsModules\Tadtools\Utility; Utility::dd($_SESSION); ``` 7. 若模組已經在運作中,不想影響他人,則可以用此方式,並於網址列最後多個`test`參數,如:「index.php?`test=session`」: ```php Utility::test($_SESSION, 'session', 'dd'); ``` 便可看見完整資訊([chrome可以安裝 JSON Viewer 套件](https://chromewebstore.google.com/detail/json-viewer/efknglbfhoddmmfabeihlemgekhhnabb?utm_source=ext_app_menu),會有相同效果):  8. 最後,請將可以發布投稿主題的選項,現階段判斷只有管理員才顯示: ```php if ($_SESSION['submission_adm']) { $interface_menu[_MD_SUBMISSION_SETUP] = "setup.php"; $interface_icon[_MD_SUBMISSION_SETUP] = "fa-file-circle-plus"; } ``` 9. 推薦作法: ```php if (Tools::chk_is_adm('', '', __FILE__, __LINE__, 'return')) { $interface_menu[_MD_SUBMISSION_SETUP] = "setup.php"; $interface_icon[_MD_SUBMISSION_SETUP] = "fa-file-circle-plus"; } ```
:::
書籍目錄
展開
|
闔起
快速登入
所有討論區
Tad Booking 場地設備預約
Tad Search 資料查詢
懶人框架討論區
實戰PHP7+MySQL
XOOPS輕鬆架快速上手
校園網站輕鬆架一般討論區
Booking Helper 預約助手
es_stud_sign 班級報名
es charge 學生收費管理
E-Stud import 學生名冊管理
es_after_school 課後照顧報名
es_exam 學生作業繳交
ES_panel 校務行政面板
es_timetable 課表
ES_youtube 本校影音
info_whats 網路設備記錄
jill booking 場地預約
jill_notice 臨時公告
jill query 簡易查詢
jill receipt 領據填報
kw club 社團報名
kw device 設備借用管理系統
ntpc_oprnid 新北市 OpenID 登入
TinyD嵌入內容模組
ugm contact us 聯絡我們
ugm page 自訂頁面
ugm table 萬用表格
dummy 自訂模組
soone_submit 投稿模組
Tad Adm 站長工具箱
Tad Assignment 作業上傳展示模組
Tad Blocks 進階區塊管理
Tad Book3 線上書籍
Tad Cal 行事曆
Tad Cbox 即時留言簿
Tad Discuss 討論區模組
Tad Embed 崁入模組
Tad Evaluation 評鑑檔案管理
Tad Form 萬用表單模組
Tad FAQ 常見問答
Tad Google 相簿
Tad Gallery 電子相簿
Tad Guide 安裝精靈
Tad Honor 榮譽榜
Tad idioms 背背成語
Tad Link 好站連結
Tad Login 快速登入
Tad Lunch3 午餐資訊
Tad Lunch2 營養午餐公告
Tad Meeting 會議系統
Tad Merage 線上合併套印
Tad News 本站消息
Tad Player 影音播放
Tad RSS 友站新聞
Tad Repair 維修通報
Tad SiteMap網站地圖
Tad Timeline 重要紀事
Tad Themes 佈景管理
Tad Tools 工具包
Tad TV 直播電視
Tad Uploader 檔案上傳模組
Tad Users 大量會員管理
Tad Web 多人網頁模組
MyTabs 我的頁籤
Random Quote 隨機小語
LogCounterX 網站流量統計
Yaoh light 多區塊多層次跑馬燈模組
校園網站輕鬆架功能建議區
佈景討論區
即時留言簿
search
進階搜尋
計數器
今天:
昨天:
總計: