3

Install modul admin di yii2

Kalau di yii1, kita bisa menggunakan modul ‘rights’ & ‘user’ untuk Otentikasi dan Otorisasi.
Sedangkan di yii2 kita bisa gunakan modul ‘yii2-admin’.

HASIL MODULE YII2-ADMIN :
Screenshot from 2015-08-09 23:29:19

Tutorial kali ini saya menggunakan linux, so bagi yang mengunakan windows ngga masalah toh tahapannya sama saja. Yuk dimulai!

INSTALL MODULE YII2-ADMIN

1) Masuk dulu ke directory yii2 :

cd /var/www/html/yii2_advanced

2) Install module yii2-admin melalui composer

– Untuk yang pakai windows, saya asumsikan Anda sudah menginstall composer, jika belum ikuti tutorial ini (tahap 1,2,3)

Untuk menginstall modul yii2 admin, Anda harus punya file composer.phar di dalam folder yii2 :
composer phar yii2

Jika belum punya, install dengan script dibawah :

php -r "readfile('https://getcomposer.org/installer');" | php

 
Untuk mengistall module yii2-admin, ketik script dibawah :

php composer.phar require mdmsoft/yii2-admin "dev-master"

Proses penginstallannya :
mdmsoft yii2 admin

Problem 1
Problem 2

Setelah berhasil diinstall, maka akan terdapat sebuah folder ‘mdmsoft’ di folder vendor.
Setiap modul/ektensi yang kita install maka akan masuk ke folder ‘vendor’.
location mdmsoft yii2 admin

KONFIGURASI

Tahap selanjutnya kita perlu beberapa konfigurasi agar modul yii2-admin dapat berjalan.
Buka file /common/config/main-local.php, copy script dibawah ini :

<?php
return [
	'modules' => [
		'admin' => [
            'class' => 'mdm\admin\Module',
            'layout' => 'left-menu', // avaliable value 'left-menu', 'right-menu' and 'top-menu'
            'controllerMap' => [
                 'assignment' => [
                    'class' => 'mdm\admin\controllers\AssignmentController',
                    'userClassName' => 'common\models\User',
                    'idField' => 'id'
                ]
			],
		]
		.....
	],
    'components' => [
		.....
        'authManager' => [
            'class' => 'yii\rbac\DbManager', // or use 'yii\rbac\DbManager'
        ],
        .....         
    ],
];

configurate of yii2

CREATE TABLE

Setelah melakukan konfigurasi, selanjutnya adalah meng-generate table yang sudah disediakan oleh modul yii2-admin. Oya, pada tahap ini yii harus sudah terhubung ke database ya.
migrations yii2

 
Langkah-langkahnya adalah sebagai berikut :
1) Pertama, kita akan menggenerate 2 tabel (menu & migration), copy script dibawah :

php yii migrate --migrationPath=@mdm/admin/migrations

Screenshot from 2015-08-07 10:54:33

2) Kedua, menggenerate 4 tabel (auth_assignment, auth_item, auth_item_child, auth_rule), copy script berikut :

php yii migrate --migrationPath=@yii/rbac/migrations

Screenshot from 2015-08-09 23:26:49

TEST MODUL

Sekarang module yii2-admin sudah siap digunakan. Untuk dapat mengaksesnya bisa menggunakan link berikut :

http://localhost/your_yii/backend/web/index.php?r=admin
http://localhost/your_yii/backend/web/index.php?r=admin/route
http://localhost/your_yii/backend/web/index.php?r=admin/permission
http://localhost/your_yii/backend/web/index.php?r=admin/menu
http://localhost/your_yii/backend/web/index.php?r=admin/role
http://localhost/your_yii/backend/web/index.php?r=admin/assignment

admin module yii2

Jika terdapat error seperti ini :

SQLSTATE[42S02]: Base table or view not found: 1146 Table ‘yii_admin.user’ doesn’t exist
The SQL being executed was: SELECT COUNT(*) FROM `user`

Screenshot from 2015-08-09 23:27:52

Itu tandanya anda belum punya tabel user. Solusinya buat tabel user dengan script dibawah ini :

php yii migrate --migrationPath=console/migrations

console migration yii2

Coba buka modul yii2-admin lagi .. dan taraaa!
Screenshot from 2015-08-09 23:29:19

[related_post themes="text" id="1042"]

Ambar Hasbiyatmoko

Hello, I’m web developer. Passionate about programming, networking and web server. @kaskus  @facebook

3 Comments

  1. Ane pake yii2 yang basic. terus pada ane udah ikutin caranya pas nampil di browser not found gitu. Padahal ane udah ikutin caranya.

Leave a Reply

Your email address will not be published. Required fields are marked *

Time limit is exhausted. Please reload CAPTCHA.