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 เพิ่ม
    <br>&amp;lt;?php<br>return [<br> 'vendorPath' =&amp;gt; dirname(dirname(__DIR__)) . '/vendor',<br> 'components' =&amp;gt; [<br>...<br> 'urlManager' =&amp;gt; [<br> 'class' =&amp;gt; 'yii\web\UrlManager',<br> 'enablePrettyUrl' =&amp;gt; true,<br> 'showScriptName' =&amp;gt; false,<br> ],<br>...<br> 'user' =&amp;gt; [<br> //'identityClass' =&amp;gt; 'app\models\User',<br> 'identityClass' =&amp;gt; 'dektrium\user\models\User',<br> 'enableAutoLogin' =&amp;gt; true,<br> ],<br> ],<br> 'modules' =&amp;gt; [<br>...<br> 'user' =&amp;gt; [<br> 'class' =&amp;gt; 'dektrium\user\Module',<br> 'admins' =&amp;gt; ['phunsanit'],<br> 'confirmWithin' =&amp;gt; 21600,<br> 'cost' =&amp;gt; 12,<br> 'enableUnconfirmedLogin' =&amp;gt; true,<br> ],<br>...<br> ],<br>];<br>

  4. เปิดไฟล์ D:\xampp\htdocs\advanced\backend\config และ D:\xampp\htdocs\advanced\frontend\config ลบ config user ใน components ออก
    <br>'components' =&amp;gt; [<br>...<br> 'user' =&amp;gt; [<br> 'identityClass' =&amp;gt; 'common\models\User',<br> 'enableAutoLogin' =&amp;gt; true,<br> ],<br>...<br>

  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