Site icon PlusMagi's Blog By Pitt Phunsanit

YII2 : เพิ่มระบบจัดการสมาชิก

หลังจากติดตั้ง yii2 ตาม ติดตั้ง yii 2 advance ผ่าน composer ขั้นตอนต่อไปจะเพิ่มระบบสมาชิกแบบที่ใช้ฐานข้อมูล โดยผมเลือกใช้ dektrium/yii2-user เพิ่มคุณสมบัติ

การติดตั้ง

  1. ใช้ command พิมพ์
    composer require "dektrium/yii2-user:0.9.*@dev"

    ตอบ yes ในขั้นตอนนี้จะเป็นการแก้ไขไฟล์ composer.json โดยเพิ่ม “dektrium/yii2-user”: “0.9.*@dev” ใน “require” และติดตั้ง ในโฟลเดอร์ \vendor\dektrium\yii2-user ถ้าไม่ได้ลง composer ไว้ก็ download มาวางไว้ก็ได้
  2. เข้าไปที่ database ลบ ตาราง user ออกไปก่อน แล้ว run command
    php yii migrate/up –migrationPath=@vendor/dektrium/yii2-user/migrations

    ตอบ yes รอจนเห็น message “Migrated up successfully.”
  3. เปิดไฟล์ \common\config\main.php เพิ่ม
    <?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,
     ],
    ...
     ],
    ];
    
  4. เปิดไฟล์ D:\xampp\htdocs\advanced\backend\config และ D:\xampp\htdocs\advanced\frontend\config ลบ config user ใน components ออก
    'components' = [
    ...
     'user' = [
     'identityClass' = 'common\models\User',
     'enableAutoLogin' = true,
     ],
    ...
    
  5. สร้าง user ใหม่ โดยไปที่ http://localhost/advanced/frontend/web/user/registration/register
  6. จากนั้น login โดย http://localhost/advanced/frontend/web/user/security/login
  7. แก้ menu ใหม่ใน backend\views\layout\main.php และ backend\views\layout\main.php หาใน array $menuItems โดยดู link ได้จาก List of available actions
  8. ปรับแต่งเพิ่มเติมตามคู่มือ

อ่านเพิ่มเติม

Exit mobile version