ตอนนี้ทำโปรเจค moodle อ่ะคะ
อาจารย์ต้องการให้เราเขียน module
ลงใน moodle คะ ก้อเลยเครียด
ใครมีคำแนะนำ ช่วยตอบด้วยนะคะ
ตอนนี้ทำโปรเจค moodle อ่ะคะ
อาจารย์ต้องการให้เราเขียน module
ลงใน moodle คะ ก้อเลยเครียด
ใครมีคำแนะนำ ช่วยตอบด้วยนะคะ
อย่าเพิ่งเครียดไปครับ ชาวบ้านเขาก็เขียนโมดูลกับ Moodle มากมาย เราก็ต้องเขียนได้อยู่แล้ว
เขียนโมดูลอะไรเหรอครับ
ตอนนี้ก้อโหลด NEWMODULE มาลองลงดูแล้วคะ
แต่ว่าทำไมมันลงได้แต่สร้างฐานข้อมูลไม่ได้ก้อไม่รุ้
ถ้ายังไงขอเมล msn ไว้ปรึกษาได้ป่าวคะ
ขอบคุณคะ
สู้ๆ
การสร้างฐานข้อมูลโมดูลจะใช้ db/install.xml ครับ ผมขอยกตัวอย่างโมดูล chat ละกันครับ
Chat จะประกอบด้วยตาราง chat, chat_messages, chat_users เวลาเขียน install.xml ก็จะได้
<TABLES>
<TABLE NAME="chat" NEXT="chat_messages">
....
</TABLE>
<TABLE NAME="chat_messages" PREV="chat" NEXT="chat_users">
....
</TABLE>
<TABLE NAME="chat_users" PREV="chat_messages">
....
</TABLE>
</TABLES>
ตาราง chat ประกอบด้วย id, course, name, intro, keepdays, studentlogs, chattime, schedule, timemodified เขียนได้ดังนี้
<TABLE NAME="chat" NEXT="chat_messages">
<FIELDS>
<FIELD NAME="id" TYPE="int" LENGTH="10" NOTNULL="true" UNSIGNED="true" SEQUENCE="true" ENUM="false" NEXT="course"/>
<FIELD NAME="course" TYPE="int" LENGTH="10" NOTNULL="true" UNSIGNED="true" DEFAULT="0" SEQUENCE="false" ENUM="false" PREVIOUS="id" NEXT="name"/>
<FIELD NAME="name" TYPE="char" LENGTH="255" NOTNULL="true" SEQUENCE="false" ENUM="false" PREVIOUS="course" NEXT="intro"/>
<FIELD NAME="intro" TYPE="text" LENGTH="small" NOTNULL="true" SEQUENCE="false" ENUM="false" PREVIOUS="name" NEXT="keepdays"/>
<FIELD NAME="keepdays" TYPE="int" LENGTH="11" NOTNULL="true" UNSIGNED="false" DEFAULT="0" SEQUENCE="false" ENUM="false" PREVIOUS="intro" NEXT="studentlogs"/>
<FIELD NAME="studentlogs" TYPE="int" LENGTH="4" NOTNULL="true" UNSIGNED="false" DEFAULT="0" SEQUENCE="false" ENUM="false" PREVIOUS="keepdays" NEXT="chattime"/>
<FIELD NAME="chattime" TYPE="int" LENGTH="10" NOTNULL="true" UNSIGNED="true" DEFAULT="0" SEQUENCE="false" ENUM="false" PREVIOUS="studentlogs" NEXT="schedule"/>
<FIELD NAME="schedule" TYPE="int" LENGTH="4" NOTNULL="true" UNSIGNED="false" DEFAULT="0" SEQUENCE="false" ENUM="false" PREVIOUS="chattime" NEXT="timemodified"/>
<FIELD NAME="timemodified" TYPE="int" LENGTH="10" NOTNULL="true" UNSIGNED="true" DEFAULT="0" SEQUENCE="false" ENUM="false" PREVIOUS="schedule"/>
</FIELDS>
<KEYS>
<KEY NAME="primary" TYPE="primary" FIELDS="id" />
</KEYS>
<INDEXES>
<INDEX NAME="course" UNIQUE="false" FIELDS="course"/>
</INDEXES>
</TABLE>
เมื่อผู้่ใช้นำโมดูลไปติดตั้ง Moodle ก็จะสร้างตารางตามที่เรากำหนดไว้ตรงนี้ล่ะครับ ดังนั้นถ้าเราพัฒนาโมดูลแล้วไม่แก้ไฟล์ db/install.xml ระบบก็จะไม่สร้างฐานข้อมูลให้
สำหรับเทคนิคการพัฒนาที่ผมใช้อยู่ก็คือ ผมจะไปสร้างตารางไว้เลย เช่น ถ้าจะทำ poll ก็จะไปสร้างตาราง poll_question, poll_result เอาไว้ใน MySQL เลย เพราะจะได้ทุ่มเทเวลาไปเขียนโปรแกรมให้มันทำงานตามที่เราต้องการ แล้วเมื่อพัฒนาโปรแกรมเสร็จเรียบร้อย ก็ค่อยมาเขียน db/install.xml ให้ตรงกับโครงสร้างล่าสุดครับ
งงจังเรยอ่ะค่า ถ้ายังไงพอจะมีไฟล์ตัวอย่างแบบว่าเราเคยโหลด NEWMODULE มาลงแล้วอ่ะคะ
แต่ว่าพอเราเรียกใช้ module มันจะขึ้นหน้า IE ว่างเปล่าขึ้นมาอ่ะคะ ก้อเลยสงสัยว่าเราทำอะไร
ผิดไปรึป่าว ถ้ายังไงพอมีไฟล์ตัวอย่างช่วยส่งมาให้เราดูหน่อยจะได้ป่าวคะ รบกวนมากไปป่าวเนี่ย
ไม่ค่อยมีความรุ้ด้านนี้เท่าไหร่เลยอ่ะคะ
ขอบคุณมากๆคะ
Moodle ก็ดีตรงนี้ล่ะครับ เวลามีปัญหาอะไรก็จะขึ้นหน้าขาว ๆ ทำให้เรารู้ได้ทันทีว่าต้องมีอะไรผิดพลาดแน่ .. เราก็แค่ย้อนกลับไปดูว่าที่เราแก้สุดท้ายคืออะไร เท่านี้ก็แก้ปัญหาได้แล้วครับ
ลองเริ่มจากแก้โมดูลแบบง่ายก่อนนะครับ สมมติว่าเราต้องการแสดง link ไป Google เราก็เริ่มต้นจากขยาย NEWMODULE.zip ไปไว้ใน /mod/newmodule จากนั้นก็เข้าเว็ปหน้า Administrator แล้วเลือก Notification (แจ้งเตือน) ระบบก็จะทำการติดตั้งโมดูลนี้เข้าไป
จากนั้นเปิด /mod/newmodule/view.php ขึ้นมาแก้ในส่วนแสดงผล โดยไปที่บรรทัดเกือบล่างสุด จะเขียนว่า
print_header_simple(...);
echo 'YOUR CODE GOES HERE';
print_footer($course);
เราแก้ตรง echo 'YOUR CODE GOES HERE' นี่ล่ะครับ ให้เป็น
echo '<a href=http://www.google.com>Google</a>';
เท่านี้โมดูลก็จะแสดงผลข้อความ Google ออกมาให้แล้วครับ ลองเริ่มจากง่ายไปหายากนะครับ จะได้มีกำลังใจเขียนโปรแกรม เกิดติดปัญหาตรงไหนจะได้มีกำลังใจว่าเคยเขียนโปรแกรมผ่าน แต่ถ้าเริ่มทำจากยากไปหาง่าย เดี๋ยวจะงงกับโปรแกรม และท้อแท้ไปก่อนครับ
ถ้าจะสร้าง module ให้สำหรับ upload file ต้องทำยังไงคับ
ช่วยหน่อยนะคับ
class block_xxx extends block_list {
function init(){
$this->title = get_string('title', 'block_xxx');
$this->version = 2009121100;
}
function has_config() { return true;}
function get_content(){ return $this->content;}
ต้องศึกษาเรื่อง class บ้างนะครับ By T
ขอบคุณทุกคนมากค๊า ตอนนี้ภาระงานมีเพิ่มมากขึ้นทุกทีเรยค๊า
เริ่มจากต้องเขียน actionscript3.0 เพื่อต่อฐานข้อมูล php
จากนั้นก้อเรียกใช้ LOM ซึ่งเปง xml เข้ามาในโมดูลที่เปง php
ใน moodle ของเราอีกที จะบ้าตาย จับต้นชนปลายไม่ถูกเลย
ทุกอย่างมันทำได้ เทสก้อทำได้อยุ่ค๊า แต่ปัญหามันคือไม่รุ้ต้อง
เอาอารายมาเชื่อมต่อกะอารายก่อนอารายหลังอ่ะจิ เห่อๆ
ตอนนี้เริ่มเขียนโปรแกรมได้แล้วคะ สามเหตุที่มันโชว์เพจว่างๆก้อเพราะว่ามันไม่แจ้ง error อ่าคะ
ต้องไปเซตค่าให้ moodle แจ้ง error ก่อน เราถึงจะเริ่มเขียนโปรแกรมได้ แต่ปัญหาคือ เขียนได้
แค่basic ให้มันโชว์ข้อความ โชว์ link ได้ก่อน แต่ว่ายังไง้ยังไง ทำไมก้อไม่รุ้ที่ว่าบันทึกลงฐาน
ข้อมูลไม่ได้สักกะทีนึง เฮ้อ เครียด แต่ก้อจะพยายามต่อไปคะ สุ๊ๆ ขอบคุณทุกคนมากๆคะที่ให้คำ
แนะนำช่วยได้เยอะเลยทีเดียวคะ