Para usar el widget que trae Yii incorporado ir a /protected/views/nombre_del_modelo/_form.php y modificar la fecha por el siguiente código Adjunto la imagen calendar.png , esa imagen deben de ponerle en la carpeta images dentro de la carpeta principal de su aplicación. Por más información ir a este link.
Categoría: PHP
Active Record en Yii: Aunque la DAO de Yii puede manejar virtualmente cualquier tarea relacionada con la base de datos, lo más probable es que gastemos el 90% de nuestro tiempo escribiendo algunas sentencias SQL relacionadas con la ejecución de las operaciones CRUD comunes. Es tambien dificil mantener nuestro código cuando éste está mezclado con sentencias SQL. Para solucionar estos problemas, podemos usar los Registros Activos (Active Record). Registro Activo (AR) es una técnica popular de Mapeo Objeto-Relacional (ORM). Cada clase AR representa una tabla de la base de datos (o vista) cuyos atributos son representados como las propiedades de… Continuar leyendo
DAO en Yii: Yii provee un poderoso soporte para la programación con bases de datos. Construído sobre la extensión PHP de Obejotos de Datos (PDO), los Objetos de Acceso a Datos de Yii (DAO) habilitan el acceso a diferentes sistemas de administración de bases de datos (DBMS) en una interfaz uniforme simple. Las aplicaciones desarrolladas usando el DAO de Yii pueden ser fácilmente cambiadas para usar un DBMS diferente sin la necesidad de modificar el código de acceso a los datos. Los Registros Activos de Yii (AR), implementados con un enfoque ampliamente adoptado de Mapeo Objeto-Relacional, simplifican aún más la… Continuar leyendo
Para poder ordenar nuestro GridView bajo el criterio que queramos, eso lo hacemos modificando el parámetro sort del CActiveDataProvider que se encuentra en la función search del modelo, de igual modo vamos a agregar un condición extra en la búsqueda, en nuestro caso filtramos una determinada categoria y ordenaremos la tabla en forma descendente mediante el campo desc_producto: Si por ejemplo queremos mostrar el GridView de a 5 registros, usar lo siguiente:
En este tema quiero mostrar el manejo de las claves foráneas en Yii framework mediante Active Record (AR). Antes de usar AR para ejecutar consultas relacionales, necesitamos darle conocer a AR como una clase AR se relaciona con otra. La relación entre dos clases AR está directamente asociada con la relación entre las tablas de la base de datos representadas por esas clases. Desde el punto de vista de la base de datos, una relación entre dos tablas A y B tiene tres tipos: uno-a-muchos (ej.: User y Post), uno-a-uno (ej.: User y Profile) y muchos-a-muchos (ej.: Category y Post). En AR, hay cuatro tipo de relaciones: BELONGS_TO: si la relación… Continuar leyendo
Un tema más que importante en toda aplicación es que tenga validaciones para evitar que el usuario ingrese cualquier dato por ejemplo a una base de datos, también es importante por cuestiones de seguridad. Por suerte Yii framework nos provee validaciones de forma automática y también podemos crear nuestras propias validaciones muy fácilmente. Si queremos validar campos lo hacemos en el método rules() del modelo en cuestión: La validación para hacer campos obligatorios: array(‘id_proveedor, fecha_compra, user, id_tipo_documento, total’, ‘required’), También puedes especificar que el valor sea numero, incluso entero: array(‘id_tipo_documento’, ‘numerical’, ‘integerOnly’=>true), array(‘igv, total, descuento_total’, ‘numerical’), Para cadenas podemos restringir la… Continuar leyendo
Este manual abarca los puntos más usados en una aplicación web típica. Índice: Instalar Yii Framework y crear la primera aplicación Crear modelos y CRUDs en Yii Framework Personalizar gii en Yii Framework PHP layouts y variables del config en Yii Modificar MENU y CSS en Yii Temas en Yii APP multilenguaje en Yii Autenticación de usuarios utilizando una base de datos en Yii URLs limpias en Yii Framework Validaciones en Yii Bases de datos (DAO) en Yii Bases de datos (AR) en Yii Relaciones en Yii Orden por defecto y condición extra para el GridView en Yii Fechas con… Continuar leyendo
Una cuestión importante a tener en cuenta es tener URLs limpias que sean amigables ya que esto principalmente ayuda a tener un mejor SEO y también puede servir de mucho a un usuario común para recordarse de urls que visitó. Yii de manera predeterminada crea enlaces de la siguiente manera: /index.php?r=controlador/vista Pero que estos se pueden mejorar poniendo las propiedades del componente urlManager, a lo cual los enlaces quedarían así: /controlador/vista Crear un .htaccess en la carpeta del proyecto con el siguiente código: Vamos a /protected/config/main.php y en el arreglo component agregamos: Con esto hemos limpiado las URLs de nuestro sistema, si nuestros… Continuar leyendo
Primero crear la tabla usuarios en su DB [Para usar una determinada DB para su aplicación web deben de vincularla primero (El script es para MySql, pero lo pueden adaptar para su gestor de base de datos), ver este tema]: — —————————- — Table structure for `usuarios` — —————————- DROP TABLE IF EXISTS `usuarios`; CREATE TABLE `usuarios` ( `id_usuario` int(11) NOT NULL AUTO_INCREMENT, `nick_usuario` varchar(128) NOT NULL, `pass_usuario` varchar(128) NOT NULL, PRIMARY KEY (`id_usuario`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; Luego crear el modelo y el CRUD de esta tabla con el Gii En protected/components/UserIdentity.php sustituimos la clase UserIdentity por: En protected/models/Usuarios.php… Continuar leyendo
Yii por defecto viene con un menú básico (CMenu): Ese código lo podrán encontrar dentro de la carpeta protected -> views -> layouts -> main.php Por ejemplo si se quiere agregar el acceso para un crud creado hay que agregar lo siguiente dentro del arreglo items del widget menu de Yii: Si se quiere un menú mas potente usar la extensión mbmenu: – Bajar la extensión de la pagina oficial de Yii y copiamos la carpeta /protected/extensions – En /protected/views/layouts/main.php cambiar el widget del CMenu por algo como: Al colocar el nuevo menú seguramente se ve extraño, para evitar esto debemos quitar el… Continuar leyendo
Archivos
- mayo 2023
- marzo 2023
- diciembre 2020
- abril 2020
- marzo 2020
- diciembre 2019
- enero 2019
- diciembre 2018
- agosto 2017
- febrero 2017
- diciembre 2016
- noviembre 2016
- septiembre 2016
- julio 2016
- junio 2016
- mayo 2016
- abril 2016
- junio 2015
- marzo 2015
- febrero 2015
- diciembre 2014
- agosto 2014
- julio 2014
- junio 2014
- mayo 2014
- abril 2014
- marzo 2014
- febrero 2014
- enero 2014
- diciembre 2013
- noviembre 2013
- octubre 2013
- septiembre 2013
- agosto 2013
- julio 2013
- junio 2013
- mayo 2013
- abril 2013
- marzo 2013