Creando MVC dentro del Módulo con Gii

 Para crear Modelo Vista y Controlador (MVC) dentro de un módulo de Yii2 solo necesitamos estos simples pasos:

Aquí nuevamente vamos a estar utilizando el generador de código de Yii2, que ya vimos como buscar en una entrada anterior. Vamos a ver que en las opciones que trae encontramos Model Generator

1.- Buscar en el generador de código de Yii2 (Model generator)

2.- Añadir en Table Name:

user

Table Name es simplemente el nombre de nuestra tabla en la base de datos, si colocamos una letra nos sale el desplegable de todas las tablas del sistema que comiencen con esa letra.

3.- Añadir en Model Class Name:

UserList

Por defecto en Model Class Name el generador de código nos coloca el nombre de nuestra tabla con el estándar de Mayúsculas que manea Yii2, que viene siendo un Camel Case empezando Mayúscula, en este caso le modifiqué el nombre y le puse UserList para utilizar el modelo de user que ya viene por defecto en el proyecto avanzado de Yii2, puedes hacerle así o dejarle tal cual y después en el modelo utilizar un alias.

4.- Añadir en Namespace:

frontend\modules\user\models\UserList o backend\modules\user\models\UserList, dependiendo de donde vamos a manejar los usuarios, el último nombre en el NameSpace (UserList) no es obligatorio, yo le coloco porque no me gusta tener todos los modelos sueltos en la carpeta models, pero lo dejo a cosideración.

5.- Verificar que este seleccionado la opción de internacionalización (I18N) y presionar el botón de Preview.

Recordemos que la opción I18N si la marcamos ya nos añade la internacionalización en los Labels, asi que nos ahorra trabajo, así que si a futuro queremos un sistema multilenguaje siempre márcale esa opción.

6.- Verificamos que se vaya a crear donde le solicitamos que se cree y le damos al botón de Generate.

7.- Una vez que nuestro modelo se encuentre creado vamos a la opción CRUD Generator

8.- Agregamos en el campo Model Class:

frontend\modules\user\models\UserList\UserList

o

backend\modules\user\models\UserList\UserList

Si añadimos esta carpeta adicional que les comentaba arriba tenemos que tenerlo en cuenta a la hora de añadir la referencia al modelo.

9.-Agregamos en el campo Search Model Class:

frontend\modules\user\models\UserList\UserListSearch

backend\modules\user\models\UserList\UserListSearch

El SearchModel, es donde vamos a tener todas las búsquedas de nuestro modelo, y es lo que me gusta que quede junto con el modelo en la carpeta adicional que puse.

10.- Agregamos en el campo Controller Class:

frontend\modules\user\controllers\UserListController

backend\modules\user\controllers\UserListController

11.- Agregamos en el campo View Path:

@frontend/modules/user/views/user-list

@backend/modules/user/views/user-list

12.- Verificamos que se encuentre seleccionada la opción de internacionalización (I18N) y presionar el botón de Preview

13.- Verificamos que todo este correcto y le damos al botón de Generate

14.- Una vez generado accedemos a la url de nuestra vista para verificar lo generado:

http://localhost/yii2-proyecto/yii2-proyecto/frontend/web/user/user-list/index

Pueden ver el proceso completo en mi canal de YouTube: https://youtu.be/f7e2oKVCtcg




Comentarios

Entradas populares de este blog

AdminLTE3 integración Yii2

RBAC Yii2 utilizando la extensión "yii2mod/yii2-rbac": "*"

Integración AdminLTE2 Yii2