Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Para recodar:
El Modelo es la parte de la aplicación que controla todo el flujo de los datos; y es quien realiza la
comunicación con la Base de datos.
Los Visitantes del sitio, podrán navegar en el contenido, para obtener información de los
servicios de la clínica
Los Pacientes podrán registrarse en el sitio para agendar una consulta con alguno de los
médicos o de las áreas de servicio de la clínica
Los Médicos podrán consultar su agenda, y el historial clínico de los pacientes que atenderá.
La aplicación inicialmente ha sido modificada para que muestre un logo, se ha cambiado el título
del sitio, y se ha establecido un contenido un contenido inicial para la página principal, para lo cual
se han agregado reglas CSS, que dan formato a su presentación.
Se deben realizar los pasos anteriores paso a paso para las tablas servicios y paquetes
NOTA: Para cambiar el parámetro Required de los campos mostrados en la base de datos se debe
acceder a los modelos protected\models\Usuarios, y en la parte de public function rules() se
encuentran estos parametros, si se quiere se copia este código a cada modelo y así serán
requeridos (se puede cambiar la longitud de cada uno de los campos). Esto se puede hacer en
cada modelo
Para controlar la cantidad de registros que se muestran en cada una de las vistas, se accede a
una de las vistas y se agrega el código al final. Por ejemplo a la vista tbEspecialidades en el
archivo index.php
Vamos a modificar el menú principal y a cambiar las opciones de registro de cada uno de los tipos
de usuarios, para que cada uno vea un menú diferente. Quitar la opción ABOUT
Igualmente se permitirá el registro de los usuarios como pacientes de la clínica desde el menú
principal de la aplicación.
En la tabla Usuarios debemos eliminar el campo email, luego ir a cada uno de los archivos
generados por el CRUD y eliminar la información pertinente a esta tabla (7 vistas generadas
desde el index, el modelo y el controlador)
Primero debemos crear una nueva tabla en la base de datos llamada Pacientes.
Se debe crear una tabla Estado Civil con los campos (estado número y estado descripción), con
esta tabla estaremos validando los campos
A esta tabla le debemos generar el modelo y luego el CRUD tal cual como se hizo con cada una
de las tablas anteriores. Los campos de la tabla pueden ser: numero, id_paciente, clave,
nombres, apellidos, dirección, teléfono, email, celular, email, edad, sexo y estado civil
Se genera en primer lugar el modelo para la tabla pacientes
Ahora se generan la vista y el controlador para este modelo. Clic en la opción CRUD y en el
nombre del modelo se emplear Pacientes
Para cambiar el menú de acuerdo a cada uno de los tipos de usuarios debemos ingresar al archivo:
protected\vistas\layout\main.php, y realizar los cambios respectivos
1. En el main menu se realizan los cambios con un una condición if, y luego se modifica el menú
para agregar la opción de registro de acuerdo al tipo de usuario
Para realizar los cambios generales debemos hacerlo en cada uno de los archivos generados por el
CRUD (modelo, vista y controlador), de esta manera nos evitamos volver a generar el CRUD una y
otra vez, y es una práctica ideal para manipular el framework
1. En la tabla PACIENTES, llenamos los respectivos datos para cada uno de los registros.
Verificamos desde la aplicación que cambios se generan.
http://localhost:8080/yii/clinica/index.php?r=Pacientes
2. Para poder visualizar este último campo que se agregó debemos realizar los siguientes
cambios en los archivos de la aplicación de la siguiente manera:
A. Primero vamos al controlador de la tabla PACIENTES:
protected/controllers/PacientesController y verificamos que no hay nada que modificar,
porque no hay información de las columnas que aparecen en la tabla. Lo que si debemos
hacer es especificar los permisos de acceso a los usuarios como se hizo anteriormente.
B. Ahora nos dirigimos al modelo: protected/models/Pacientes.php:
En las líneas de los comentarios es aconsejable comentar los cambios realizados en la
tabla o campos de la base de datos. Acá se agrega el comentario del campo email
En las siguientes líneas que se ubican el función public function attributeLabels() se
realiza los cambios respectivos.
Luego en la función $criteria=new CDbCriteria; se deben hacer los cambios para
agregar el campo de email
Ahora debemos ir a la vista para poder renderizarla y los cambios surjan efecto,
primero ingresamos al archivo protected/views/pacientes/form.php, en este archivo
se observa un div para cada uno de los campos de la tabla. Debemos hacer lo mismo
para el campo email.
Al revisar la vista, nos damos cuenta que el campo email ya aparece en la vista, pero
no es requerido (*)
Para indicar que este campo sea requerido debemos volver al modelo y realizar los
respectivos cambios en protected/models/Pacientes.php y hacemos el cambio en la
reglas de captura en la función public function rules(), donde agregamos el campo
email en la primer línea del código.
Ahora volvemos a las vistas y agregamos el campo en
protected/views/pacientes/search.php como se hizo en la vista form.php
Se hace igual en cada una de las vistas. (En algunos casos están comentados pero se
deben hacer los cambios) No se hacen cambios en el create.php, index.php,
update.php
En este momento se deben crear los privilegios de acceso para cada uno de los
usuarios para poder visualizar todas las opciones del manage. Se hacen en el archivo
protected/controllers/PacientesController
C. Ahora vamos a ver como se realizan las validaciones de ingreso de los datos. Esta
validación se realiza en el archivo protected/models/Pacientes.php, en la función public
function rules()
Para más ayuda de las validaciones en la ayuda del framework se busca el CValidator,
y allí hay más información
D. Ahora vamos a ver como se graban los datos en la base de datos, para eso vamos al
controlador, al archivo: protected/controllers/PacientesController