Ví dụ: Block tìm kiếm với google ở ngoài Front End

Một phần của tài liệu Triển khai hệ thống đào tạo trực tuyến (e learning) dựa trên mã nguồn mở moodle (Trang 31 - 34)

<?php

//---////TRAN THI NGOC TRUONG - HOANG XUAN SINH //TRAN THI NGOC TRUONG - HOANG XUAN SINH //10-03-2009

//---//

class block_google extends block_base { // ten cua block dc ke thua tu lop block_base function init() { //function nay giup dinh nghia block: ten, version//

$this->title = "Google Search"; // tieu de cua BLOCK// $this->version = 2009; //version c?a block//

}

function get_content() { //function nhap noi dung vao BLOCK// if ($this->content !== NULL) {

return $this->content; }

$this->content = new stdClass; // dinh nghia noi dung HTML trong blog do// $this->content->text = '

<center>

<img src="blocks/google/1.jpg">

<form method="get" action="http://www.google.com/custom" target="_top"> <table bgcolor="#ffffff">

<tr><td nowrap="nowrap" valign="top" align="left" height="32"> <p dir="ltr">

</a><input type="text" name="q" size="12" maxlength="300" value="" id="sbi"></input>

<input type="submit" name="sa" value="Search" id="sbb"></input>

<input type="hidden" name="client" value="pub-2065268365108962"></input> <input type="hidden" name="forid" value="1"></input>

<input type="hidden" name="ie" value="UTF-8"></input> <inut type="hidden" name="oe" value="UTF-8"></input> <input type="hidden" name="safe" value="active"></input> <input type="hidden" name="cof"

value="GALT:#008000;GL:1;DIV:#336699;VLC:663399;AH:center;BGC:FFFFFF;LBG C:336699;ALC:0000FF;LC:0000FF;T:000000;GFNT:0000FF;GIMP:0000FF;FORID:1" ></input>

<input type="hidden" name="hl" value="vi"></input> </td></tr></table>

</form>

</center>'; // doan code cua BLOCK

$this->content->footer = ''; //footer cua BOCK de noi dung bat ky// return $this->content;

}}?> }?>

II.2.4. Phát triển các Module a. Giới thiệu module

- Th mục chứa module: C:\xampp\htdocs\fitMoodle\Moodle\mod

Hình 2.17. Th mục chứa các Module

- Cấu trúc 1 module:

Mỗi module nằm trong một th mục riêng rẽ và chứa các thành phần bắt buộc sau (cộng thêm các script đi kèm với mỗi module):

+ mod.html: Một dạng của cài đặt và cập nhật một instance của module (adsbygoogle = window.adsbygoogle || []).push({});

đấy. Thờng thì chúng sẽ đợc trợ giúp thông qua mod.php ở ngoài th mục gốc.

+ version.php: Xác định một vài thông tin meta-info cung cấp các code

nâng cấp.

+ icon.gif: Một icon 16x16 cho module.

+ db: Chứa tất cả các bảng db cần thiết và dữ liệu (cho mỗi kiểu dữ liệu).

Hiện tại hỗ trợ cho mysql và postgresql là chính. Một số module hỗ trợ Oracle.

+ index.php: Một trang để liệt kê tất cả các instances trong một cua.

+ view.php:Một trang để xem một instance cụ thể của module.

+ lib.php: Bất cứ/ tất cả các hàm đợc xác đinh bởi module sẽ đợc đặt ở đây.

Nếu tên module là widget, thì tất cả các hàm sẽ bao gồm:

* widget_add_instance(): Mã để đa một instance mới của widget.

* widget_update_instance(): Mã để cập nhật một instance hiện đang có. * widget_delete_instance(): Mã để xoá một instance.

* widget_user_outline(): Đa ra một instance, đa ra tổng quan các đóng

góp của một ngời dùng.

* widget_user_complete(): Đa ra một instance, đa ra chi tiết các đóng góp

của một ngời dùng.

* Để tránh các xung đột có thể, bất kỳ một hàm nào của module nên đợc đặt tên bắt đầu bằng widget_ và các hằng số bằng WIDGET_

+ Cuối cùng, mỗi module sẽ có các file ngôn ngữ chứa các chuỗi cho module đó.

Một phần của tài liệu Triển khai hệ thống đào tạo trực tuyến (e learning) dựa trên mã nguồn mở moodle (Trang 31 - 34)