ok vee web starter kit

web starter kit นี้ไม่ใช่ระบบจัดการเนื้อหา เนื่องจากมันไม่มีแม้กระทั่งการจัดการบทความ, เนื้อหา จะมีก็เพียงตัวอย่าง blog ซึ่งช่วยให้เห็นภาพการทำงานกับ Modular extensions.
web starter kit นี้ ไม่ใช่ framework เนื่องจากมันสร้างบน Codeigniter php framework.
มันจึงเป็นชุดเริ่มต้น ที่เหมาะสำหรับคนที่ต้องการเริ่มโปรเจ็คใหม่ๆอย่างรวดเร็ว เพราะมีส่วนประกอบที่สำคัญในการเริ่มต้นมาให้พร้อมใช้

web starter kit นี้เหมาะสำหรับใคร?
เหมาะสำหรับผู้ที่พอจะมีประสบการณ์เขียนโค้ดบน Codeigniter อยู่บ้างหรือจนถึงระดับที่ชำนาญ และพอจะเข้าใจการทำงานด้วย Modular extensions

img

มีอะไรในนี้บ้าง?

มีระบบ admin ที่พร้อมใช้งานเต็มประสิทธิภาพ.
มีระบบจัดการ account ซึ่งสามารถ เพิ่ม แก้ไข ลบ บัญชีผู้ใช้ได้ อีกทั้งมีความปลอดภัยครบ ป้องกันการลบหรือแก้ไขข้ามระดับ.
มีระบบจัดการหน้าที่ของยัญชีผู้ใช้ เช่น Super administrator, Administrator, Member
มีระบบจัดการ การอนุญาต ที่กำหนดได้อย่างละเอียดยิบ และรองรับในส่วนของงานที่คุณจะทำเพิ่มเข้ามา.
มีระบบจัดการ configuration พื้นฐานผ่านหน้าเว็บ.

ความต้องการของระบบ

Codeigniter 2.x (มีมาด้วยแล้ว)
Modular extensions 5.x (มีมาด้วยแล้ว)
Php 5.2 - 5.3
Mysql 5

download version: 0.3b
0.2b อัปเดทไปใช้ Codeigniter 2.1.0 ซึ่งคลาส upload ทำงานกับ php5.2 ไม่ดีมากๆ ดังนั้นผู้ใช้ php เวอร์ชั่นนี้หรือเก่ากว่าแนะให้ใช้ wsk 0.1.6b ไปก่อน ส่วน wsk 0.2b แนะนำสำหรับผู้ใช้ php5.3+
0.3b แก้ไข MY_Email library error.

download version: 0.1.6b
0.1.1b แก้ไขตัวอย่างของหน้าแรกให้ดูดีและใช้ load view รวมทั้งตัวอย่างการดึงโมดูลบล็อก เต็มรูปแบบ.
0.1.3b แก้ไขข้อบกพร่องบางจุด และเพิ่ม core language เพื่อให้แสดงภาษาแม้ไม่ได้ทำคำแปลไว้ หากจะทำการอัปเดท ขอให้ทำการ compare ไฟล์ต่างๆก่อน หากมีส่วนใดที่เพิ่มเติมค่อยคัดลอกส่วนนั้นทับเข้าไป
0.1.4b อัปเดทไปใช้ Codeigniter 2.0.3 ที่ออกเมื่อ 20 สิงหาคม 2554
0.1.6b แก้บั๊กบางส่วนเกี่ยวกับการเปลี่ยนรหัสผ่านของผู้ใช้, เพิ่ม mime, และปรับปรุงการทำงานบางอย่างของ module.

License

สามารถ นำไปใช้ได้ฟรี ไม่ว่าจะสำหรับศึกษา, ใช้ส่วนตัว, ใช้ในงาน commercial, ใช้พัฒนาโค้ดแล้วนำโค้ดที่พัฒนาไปขาย (commercial) ล้วนทำได้อย่างเสรีทั้งสิ้น
ห้าม! นำโค้ดชุดนี้ไปขายโดยที่ไม่ได้พัฒนาอะไรเพิ่มเลย (ถ้าเอาไปพัฒนาเพิ่มเขียนเป็นงานของคุณ คุณเอาไปจำหน่ายตามใจชอบได้เลย)
ห้ามลบ copy right ในโค้ดต่างๆที่มีอยู่เดิม เช่น @author @copyright
สามารถนำโค้ดชุดนี้ไปทำซ้ำ แจกจ่ายได้ ฟรี

การติดตั้ง

  1. แตกไฟล์ออกมาไว้ที่ folder ที่จะติดตั้ง
  2. สร้าง ฐานข้อมูลขึ้นมา เช่น ชื่อ v_wsk แล้วกำหนดรายละเอียดชื่อฐานข้อมูล username+password ฐานข้อมูลลงในไฟล์ application/config/database.php
  3. import ไฟล์ .sql เข้าไปในฐานข้อมูล โดยเลือกเอาว่าจะติดตั้งแบบเปล่าๆหรือติดตั้งพร้อมข้อมูลตัวอย่าง ของโมดูลตัวอย่าง 'blog' หากติดตั้งแบบสะอาดให้เลือกไฟล์ okv-wsk-freshclean-install.sql, หากติดตั้งพร้อมข้อมูลตัวอย่างเลือก okv-wsk-simpledata-install.sql
  4. กำหนดค่า config ต่างๆของ codeigniter ใน application/config/ โดยเลือกเปิดดูและกำหนดแก้ไขตามต้องการ เช่น config.php, email.php, website.php
  5. แก้ permission ที่ folder client/avatar ให้สามารถ write ได้ หรือหากเป็นพวก unix ให้ chmod 0777

ทดลองเปิดเว็บ http://localhost/ หรือ folder ที่ติดตั้ง เช่น http://localhost/wsk
หากการแสดงผลเป็นปกติไม่มี error ใดๆ ให้ลองคลิกที่ Site admin
กรอก admin ในช่อง username, กรอก pass ในช่อง password
หากเข้ามาสู่หน้า admin เรียบร้อยดีไม่มี error ใด แสดงว่าคุณติดตั้งถูกต้องแล้ว พร้อมทำงานได้เลย
หากมั่นใจว่าติดตั้งถูกต้องแล้วแต่ไม่ได้ผล มี error เกิดขึ้น คุณอาจต้องหาผู้รู้มาช่วยแก้ไข error ต่างๆ หรือโพสต์ไว้ใน comment ด้านล่างนี้ก็ได้

การเขียนงาน

การเริ่มต้นเขียนงานนั้น คุณสามารถเลือกได้ว่าจะทำแบบเขียนไปใน folder หลักของ Codeigniter เลยก็ได้ หรือทำใน folder module ของ Modular extensions ก็ได้
สำหรับ folder module ของ Modular extensions ผมได้ย้ายออกมาอยู่ที่ด้านนอก ระดับเดียวกับ folder application, client, system

การเขียนบน Codeigniter application

ในทุกไฟล์ใน site-admin controller ควร extends admin_controller แทนที่จะใช้ CI_Controller หรือ MX_Controller เหมือนปกติ แต่ใน controller ที่ไม่ได้อยู่ใน site-admin แนะให้ใช้ extends MX_Controller
และควรกำหนด method _define_permission() ในทุก controller ภายใน site-admin โดยขอให้ดูอ้างอิงจาก controller site-admin/login.php; ตรง permission_page และ action1, action2 ควรกำหนดให้สามารถดึงไฟล์ภาษามาแปลได้ อย่างเช่น account_admin_login ไฟล์แปลจะอยู่ใน language/thai/account_lang.php

การเขียนบน Module application

ในทุกไฟล์ของหน้า admin controller ควร extends admin_controller แทนที่จะใช้ CI_Controller หรือ MX_Controller เหมือนปกติ แต่ใน controller ที่ไม่ได้อยู่ใน site-admin แนะให้ใช้ extends MX_Controller
การกำหนด method _define_permission() จะต่างจาก Codeigniter application หลัก เพราะควรจะกำหนดในไฟล์ ชื่อโมดูล_admin.php
เช่น โมดูล blog ก็ตั้งชื่อไฟล์ใน controller ว่า blog_admin.php แล้วกำหนด method _define_permission() ในนี้

นอกจากนี้ควรกำหนด method admin_nav() ในไฟล์ ชื่อโมดูล_admin.php ด้วย เพื่อให้หน้าหลัก site-admin สามารถทำลิ้งค์มาที่หน้าจัดการโมดูลนี้ได้
ตัวอย่างการเขียน method admin_nav() ขอให้ดูจาก blog module, page module

ทั้ง นี้ขอให้ลองศึกษาทำความเข้าใจโครงสร้าง folder ที่ทำงานใน Modular extensions จาก module blog, page ให้มาก โดยเฉพาะโมดูล blog จะมีตัวอย่างครบถ้วน

การเช็ค permission ใน site-admin

ให้ใช้โค้ดนี้

 if ( $this->account_model->check_admin_permission("", "blog_admin", "blog_add_post") == false ) {redirect($this->uri->segment(1));}
 

โดย attribute แรกคือ account_id และตามด้วย page_name, action ที่ได้กำหนดไว้ใน _define_permission()

หากพบข้อบกพร่องใดๆ โปรดแจ้งผ่านทาง comment ด้านล่างนี้.

ความคิดเห็น

  • vee vee

    ผมอยากรู้จังว่ามีคนเอาแอพฯตัวนี้ไปเริ่มโปรเจ็คเป็นอะไรต่ออะไรกันบ้างแล้วนี่ ดาวน์โหลดไปมากมายอยู่ ลองเอามาอวดกันบ้างก็ได้นะครับ :)

  • vee vee

    ครับ ส่วนของ user ผมทำเอาไว้ให้ดูเฉยๆ เพราะกะว่ายังไงๆผู้นำไปพัฒนาต่อก็ต้องออกแบบเองอยู่แล้ว ก็เพียงแค่ก๊อปไฟล์ใน views/default/ ไปไว้ใน client/themes/ธีมที่เลือก/

    ส่วนของ admin มันก็อยู่ตำแหน่งเดิมคือ views ใน codeigniter หรือใน modules ต่างๆ

  • bank bank

    โอเค ได้และ โทษที มันต้อง login เข้าไปก่อน ส่วนที่มันไม่สวยมัน ส่วนของ user คือ นายทำโครงไว้ให้ดูเฉย

  • bank bank

    เหมือนว่าตอนโหลดมามันก็ย้ายไว้แล้วอะครับ แต่ว่าเมนู superfish พื้นหลังสวย ไม่ขึ้น ขึ้นแต่ข้อความตัวอย่าง
    หน้า login ใช้ได้นะ สวยปกติ ตรวจสอบ password ได้ มันเพราะอะไรอะครับ ช่ววยดูหน่อยนะครับ

  • bank bank

    คือผมลองติดตั้งแล้ว ทำไมมันใช้อะไรได้หมด แต่เหมือนว่า ไม่มี css กำหนดมันเลย มันเลยไม่สวย
    พอติดตั้งเสร็จ มันบอกให้ย้ายไฟล์

    /**** ไฟล์ที่แสดงผลนี้คือไฟล์ของส่วน views ซึ่งอยู่ใน codeigniter views.
    คุณสามารถใช้ในรูปแบบ theme ได้โดยลบหรือย้ายไฟล์นี้ใน CI views/default ไปไว้ใน client/themes/default. *****/

    ย้ายนี่คือย้ายไฟล์ไหนอะครับ และไปไว้ตรงไหน และลบไฟล์ใน view ออกป่าว ผมลองย้ายจาก view ไป cilent มันก็ errror ทำไม่มีไรเกิดขึ้น

  • gootooyoo gootooyoo

    แจ่ม

  • shopping previews shopping previews

    ขอบคุณหลายๆคับ กำลังเริ่มศึกษา Ci อยู่ขอเอาไปทดสอบน่ะคับ

เขียนความคิดเห็น

ชื่อ:
ความคิดเห็น:
 
ความคิดเห็นของคุณต้องรอการตรวจจากผู้ดูแลก่อนที่จะเผยแพร่สู่สาธารณะ.