Sourceและคู่มือ : http://packalyst.com/packages/package/acacha/admin
วันนี้จะมากล่าวถึงเรื่อง การทำระบบหลังบ้าน จากง่ายให้ง่ายขึ้นไปอีก ส่วนใหญ่พวกงานหลังบ้านก็คงหนีไม่พ้น เพิ่ม ลบ แก้ไข ข้อมูลใน Table ต่างๆ Sleeping Owl ได้ตระเตรียมเครื่องมือให้สร้างระบบหลังบ้านไว้เพียบ ไม่ว่าจะเป็น Generate Table แสดงข้อมูล ได้ในไม่กี่ บรรทัด หรือ Form เพิ่ม แก้ไข และ ปุ่มลบ ในไม่กี่บรรทัดเช่นกัน
สิ่งที่มากับ Packet :
sb-admin-2 template -- tempalte ของระบบ หลังบ้าน
jQuery 1.11.0 -- ก็ Jquery อ่ะ
Bootstrap v3.2.0 -- ก็ Boostrap อะ
Chosen v1.4.2 -- อันนี้มั่ว น่าจะเป็นตัว Select Box
DataTables 1.10.0-dev -- Jquery Plugin Datatables สำหรับสร้าง Tables และแบ่งหน้า Filter อื่นๆ อีกเยอะแยะ
Nestable jQuery Plugin -- ไม่รู้อะไร
Lightbox for Bootstrap 3 -- Modal ไงเธอ...
Font Awesome 4.1.0 -- Icon ต่างๆ
Metismenu 1.0.3 -- อะไรหว่า คงเป็น
morris.js v0.5.0 --
bootbox.js v4.3.0 --
Bootstrap datetimepicker -- datetime picker
CKEditor -- textarea แบบ จับว่าง
flow.js --
เริ่มจากติดตั้ง จาก Composer โดยการ เพิ่ม
"sleeping-owl/admin": "dev-development"ใน Composer.json จากนั้นสั่ง Update เพื่อดึง Packet เลย
composer update self (มั้ง ลองเซิจดูอีกทีละกัน)
หลังจาก Composer อัพเดทเสร็จก็ เปิดไฟล์ config/app.php ยัดไอ่นี้เข้าไป ใน aliases [... ];
'Admin' => 'SleepingOwl\Admin\Admin', 'AdminAuth' => 'SleepingOwl\AdminAuth\Facades\AdminAuth', 'Column' => 'SleepingOwl\Admin\Columns\Column', 'ColumnFilter' => 'SleepingOwl\Admin\ColumnFilters\ColumnFilter', 'Filter' => 'SleepingOwl\Admin\Filter\Filter', 'AdminDisplay' => 'SleepingOwl\Admin\Display\AdminDisplay', 'AdminForm' => 'SleepingOwl\Admin\Form\AdminForm', 'AdminTemplate' => 'SleepingOwl\Admin\Templates\Facade\AdminTemplate', 'FormItem' => 'SleepingOwl\Admin\FormItems\FormItem',
แล้วสั่ง
php artisan admin:installบร๊ะ เสร็จแล้ว ลองเข้าดู
http://url.com/admin
ถ้าเจอหน้า Login แสดงว่าติดตั้งเสร็จสมบูรณ์ ไว้วันหลังจะมาต่อวิธีใช้
หลังจากติดตั้งเสร็จลองมาดูการใช้งานคร่าวกันนะครับ ไว้แบบละเอียดจะมาต่อภายหลัง1. หลังการสร้าง Model ของ Table ของเราเสร็จ เราลองมาดูการสร้างหน้าจัดการ ของ Tables นั้นๆ แปปเดียวได้ทั้ง เพิ่ม ลบ แก้ไข
ใน Model user.php ต้องมี $fillable เพิ่มเข้าไป
protected $fillable = ['ชื่อฟิว', '...', '..'];สมมุติมีตาราง Users และ Modelชื่อ User อยู่แล้ว ผมก็จะสร้างไฟล์มาตามนี้ app/admin/User.php : แล้วคำสั่งในไฟล์ก็ตามด้านล่างเลย
Admin::model('\App\Models\User')->title('จัดการผู้ใช้')->as('user_manage')
->columns(function(){
Column::string('id', 'ID');
Column::sex('sex','เพศ');
Column::string('prename.pre_title', 'คำนำหน้า');
Column::string('first_name', 'ชื่อ');
Column::string('last_name', 'นามสกุล');
Column::string('email', 'Email');
Column::string('telephone', 'เบอร์โทรศัพท์');
Column::string('created_at', 'วันที่สมัคร');
})
->form(function ()
{
FormItem::select('sex', 'เพศ')->list([
1 => 'ชาย',
2 => 'หญิง',
])->required(false);
FormItem::select('prenameId', 'คำนำหน้าชื่อ')->list(\App\Models\Prename::class)->attributes(['required' => 'true']);
FormItem::Text('first_name', 'ชื่อ')->required()->attributes(['required' => 'true']);
FormItem::Text('last_name', 'นามสกุล')->required()->attributes(['required' => 'true']);
FormItem::Text('email', 'Email')->required()->attributes([
'required' => 'true',
'pattern' => '/[a-z0-9]*@[a-z]{2,3}\.[a-z]{2,3}/i'
]);
FormItem::Text('telephone', 'เบอร์โทรศัพท์')->required()->attributes(['required' => 'true']);
FormItem::Password('password', 'รหัสผ่าน')->required()->attributes(['required' => 'true']);
});
จากนั้นลองเข้า http://url.com/admin/user_manage
แค่นี้ก็ได้ระบบจัดการ ง่ายๆ มาละ หนึ่งตาราง (ง่ายไปป่าว) O_o ไว้คราวหลังมาต่อนะครับ สงสัยอะไรสอบถามผ่าน Comment ได้เลยว่างจะมาช่วยหาคำตอบครับ เอาคู่มือไปศึกษากันก่อนละกันครับ : http://sleeping-owl.github.io/