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
o
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
o
backend\modules\user\controllers\UserListController
11.- Agregamos en el campo View Path:
@frontend/modules/user/views/user-list
o
@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
Publicar un comentario