หลังจากติดตั้ง yii2 ตาม ติดตั้ง yii 2 advance ผ่าน composer ขั้นตอนต่อไปจะเพิ่มระบบสมาชิกแบบที่ใช้ฐานข้อมูล โดยผมเลือกใช้ dektrium/yii2-user เพิ่มคุณสมบัติ
- ระบบลงทะเบียนสมาชิกและเลือกให้ส่งเมล์ยืนยันได้
- login โดยใช้ facebook, ig
- ขอรหัสผ่านใหม่
- จัดการข้อมูลส่วนตัว
- ระบบจัดการสมาชิก
การติดตั้ง
- ใช้ command พิมพ์
1
composer require "dektrium/yii2-user:0.9.*@dev"
ตอบ yes ในขั้นตอนนี้จะเป็นการแก้ไขไฟล์ composer.json โดยเพิ่ม “dektrium/yii2-user”: “0.9.*@dev” ใน “require” และติดตั้ง ในโฟลเดอร์ \vendor\dektrium\yii2-user ถ้าไม่ได้ลง composer ไว้ก็ download มาวางไว้ก็ได้
- เข้าไปที่ database ลบ ตาราง user ออกไปก่อน แล้ว run command
1
php yii migrate/up –migrationPath=@vendor/dektrium/yii2-user/migrations
ตอบ yes รอจนเห็น message “Migrated up successfully.”
- เปิดไฟล์ \common\config\main.php เพิ่ม
main.php 1234567891011121314151617181920212223242526272829<?php
return
[
'vendorPath'
=> dirname(dirname(__DIR__)) .
'/vendor'
,
'components'
=> [
...
'urlManager'
=> [
'class'
=>
'yii\web\UrlManager'
,
'enablePrettyUrl'
=> true,
'showScriptName'
=> false,
],
...
'user'
=> [
//'identityClass' => 'app\models\User',
'identityClass'
=>
'dektrium\user\models\User'
,
'enableAutoLogin'
=> true,
],
],
'modules'
=> [
...
'user'
=> [
'class'
=>
'dektrium\user\Module'
,
'admins'
=> [
'phunsanit'
],
'confirmWithin'
=> 21600,
'cost'
=> 12,
'enableUnconfirmedLogin'
=> true,
],
...
],
];
- เปิดไฟล์ D:\xampp\htdocs\advanced\backend\config และ D:\xampp\htdocs\advanced\frontend\config ลบ config user ใน components ออก
main.php 1234567'components'
=> [
...
'user'
=> [
'identityClass'
=>
'common\models\User'
,
'enableAutoLogin'
=> true,
],
...
ออก
- สร้าง user ใหม่ โดยไปที่ http://localhost/advanced/frontend/web/user/registration/register
- จากนั้น login โดย http://localhost/advanced/frontend/web/user/security/login
- แก้ menu ใหม่ใน backend\views\layout\main.php และ backend\views\layout\main.php หาใน array $menuItems โดยดู link ได้จาก List of available actions
- ปรับแต่งเพิ่มเติมตามคู่มือ