[ตอนที่ 1] เวิร์คช้อป CMS อย่างง่าย เก็บข้อมูลเป็นไฟล์
มีอะไรในเวิร์คช้อปนี้
- การสร้างโปรเจ็คคชสาร ที่ใช้การติดตั้งด้วย Composer
- เรียนรู้การออกแบบเว็บที่มีระบบแอดมิน
- เรียนรู้การ Login อย่างง่าย ไม่ต้องใช้ฐานข้อมูล
- เรียนรู้การเก็บข้อมูลลงไฟล์ด้วยคชสาร
- การใช้งานฟอร์ม ทั้งแบบที่ใช้ Ajax และ ไม่ใช้ Ajax ในการ Submit
- การจัดการกับข้อผิดพลาดของฟอร์ม
- การใช้งาน DataTable แสดงข้อมูลรูปแบบตาราง สำหรับข้อมูลแบบ Array ไม่ต้องเชื่อมต่อกับฐานข้อมูล
การติดตั้ง
1. ดาวน์โหลดโค้ดของเวิร์คช้อปนี้จาก Github https://github.com/...iriya/kotchasan-tcms จะเห็นว่าโค้ดที่ดาวน์โหลดมาจะไม่มีส่วนของ Kotchasan Web Framework ติดตั้งมาด้วย ซึ่งเราจะทำการติดตั้งคชสารในขั้นตอนต่อไป
2. ติดตั้งคชสาร เว็บ เฟรมเวิร์ค ตัวอย่างนี้มีเจตนาจะให้เห็นว่าเราสามารถติดตั้งคชสารด้วย Composer ก็ได้ (สำหรับคนที่ชอบใช้วิธีนี้) หรือจะติดตั้งคชสารด้วยวิธีปกติก็ได้ ซึ่งจะทำให้ได้โครงสร้างไดเร็คทอรี่ที่แตกต่างจากการติดตั้งปกติ เล็กน้อย ซึ่งเราสามารถจัดการเองได้ไม่ยาก
2.1 ติดตั้งคชสารด้วย composer โดยเปิด terminal พิมพ์คำสั่งด้านล่าง แล้วกด Enter ทีละบรรทัด
บรรทัดแรก cd ให้ระบุ ไดเร็คทอรี่ที่ติดตั้ง TCMS ไว้
บรรทัดที่สอง เรียก composer ให้ติดตั้งคชสารให้
2.2 ติดตั้งคชสารด้วยการดาวน์โหลด สามารถดาวน์โหลด หรือใช้การโคลนคชสารจาก github มาก็ได้ครับ โดยต้องติดตั้งคชสารไว้ที่ /vendor/goragod/kotchasan/
cd /path/to/kotchasan-tcms/
composer install
บรรทัดแรก cd ให้ระบุ ไดเร็คทอรี่ที่ติดตั้ง TCMS ไว้
บรรทัดที่สอง เรียก composer ให้ติดตั้งคชสารให้
2.2 ติดตั้งคชสารด้วยการดาวน์โหลด สามารถดาวน์โหลด หรือใช้การโคลนคชสารจาก github มาก็ได้ครับ โดยต้องติดตั้งคชสารไว้ที่ /vendor/goragod/kotchasan/
include 'vendor/goragod/kotchasan/Kotchasan/load.php';
4. ปรับ chmod ให้ไดเร็คทอรี่ datas/ และไฟล์ทั้งหมดในนั้นให้สามารถเขียนได้ (เช่น 777)
เสร็จแล้วลองทดสอบเรียกเว็บไซต์ดูครับ
สามารถเข้าระบบผู้ดูแลได้ที่ /admin/index.php โดยมี username : admin และ password : admin ซึ่ง username และ password สามารถแก้ไขได้ที่ /settings/config.php
ส่วนข้อมูลเมนูจะอยู่ที่ /datas/menus.php และ ข้อมูลหน้าเพจ อยู่ที่ datas/index/ ผมไม่แนะนำให้แก้ไขไฟล์เหล่านี้ด้วยตัวเองนะครับ เนื่องจากอาจผิดพลาดได้ และ โปรเจ็คนี้มีส่วนสำหรับแก้ไขข้อมูลพวกนี้ให้แล้ว