作業中要開發乙個小的moodle模組,花好多時間才走通了moodle外掛程式的開發流程,在這裡記錄一下。moodle2.9版本,easyphp提供網路伺服器和mysql服務。
-1、moodle 板塊(block)編輯
-2、板塊安裝
1、block最少需要4個檔案,分別是定義檔案、版本說明檔案、語言支援檔案和資料庫定義檔案。
建立過程以helloworld板塊為例。
建立乙個helloworld資料夾,後續檔案放到該資料夾下;儲存檔案的時候,擴充套件名為.php,編碼格式為utf-8。
block_helloworld.php
<?php
class
block_helloworld
extends
block_base
//function init
function
get_content
() $this->content = new stdclass;
$this->content->text = 'hello world!';
return
$this->content;
}//function get_content
}//class block_helloworld
?>
version.php
<?php
$plugin
->version =
2011062800; // yyyymmddhh (year, month, day, 24-hr time)
$plugin
->requires =
2010112400; // yyyymmddhh (this is the release version for moodle 2.0)
lang/en/block_helloworld.php
<?php
$string['helloworld'] = 'hello world';
?>
以上的lang表示language,可以參照其它block包的定義新增不同語言支援。
db/access.php
許可權設定,這裡只有』admin』 => cap_allow表明只有管理員具有修改許可權。
<?php
$block_helloworld_capabilities = array('block/helloworld:view'
=> array('captype' => 'read',
'contextlevel' => context_system,
'legacy' => array(
'guest' => cap_prevent,
'student' => cap_prevent,
'teacher' => cap_prevent,
'editingteacher' => cap_prevent,
'coursecreator' => cap_prevent,
'admin' => cap_allow))
);?>
2、安裝,按照標準的moodle外掛程式安裝方式安裝即可
參考 [1]、
[2]、moodle 二次開發之block 於方軍 山東省淄博市博山區山頭中心學校
iOS開發 Block詳解
block是乙個非常有特色的語法,它可以把乙個 塊作為乙個變數來儲存,也可以通過函式傳遞變數,然後讓其他的物件來執行這一 塊。可以儲存傳遞並在其他地方執行的 塊,這是我對block的理解,也是我覺得block最吸引我的地方。直接定義 返回block指標 返回型別 可省略 引數型別 引數 沒有引數可省...
iOS開發 block介紹
void viewdidload nslog 我在看電視 void chargemyiphone void void finishblock void void finishblock 第乙個void表示此block無返回值。為block type的標誌。第二個 void 表示這個block無引數。...
iOS開發 Block 核心原理
如何深入學習相關概念呢?將oc 轉化成c 檢視其內部實現。面試過程中,每道題都是有對應分數的,一定要盡可能答的漂亮。什麼是block 什麼是block?你對block的呼叫是怎麼理解的?截獲變數是block的一大特性,系統對於block的截獲是怎麼實現的呢?我們新增 block修飾符做什麼事情呢?什...