Edición de «Categoría:Helpers»
De KumbiaPHP Framework Wiki
Advertencia: no has iniciado sesión. Tu dirección IP se hará pública si haces cualquier edición. Si inicias sesión o creas una cuenta, tus ediciones se atribuirán a tu nombre de usuario, además de otros beneficios.
Puedes deshacer la edición. Antes de deshacer la edición, comprueba la siguiente comparación para verificar que realmente es lo que quieres hacer, y entonces guarda los cambios para así efectuar la reversión.
Revisión actual | Tu texto | ||
Línea 1: | Línea 1: | ||
− | + | ===DATAGRID FACIL DE CREAR.=== | |
− | [[ | + | *'''setFieldsAndHeaders($valor)''' |
− | [ | + | |
+ | $valor = 'id: código'; | ||
+ | donde id es el campo de la tabla y código es un string a mostrar. | ||
+ | |||
+ | <source lang="php"> | ||
+ | $dataGrid->setFieldsAndHeaders('id: COD.', 'nombre: NOMBRE'); | ||
+ | </source> | ||
+ | |||
+ | |||
+ | En este ejemplo hay un campo perfiles_id, pero indicando perfiles_nombre se visualiza el campo nombre de la tabla perfiles. | ||
+ | |||
+ | <source lang="php"> | ||
+ | $dataGrid->setFieldsAndHeaders('id: COD.', 'perfiles_nombre: PERFIL'); | ||
+ | </source> | ||
+ | |||
+ | |||
+ | *'''setColumnsAling($valor)''' | ||
+ | $valor = 'id: center'; | ||
+ | donde id es el campo de la tabla y center es la propiedad | ||
+ | |||
+ | <source lang="php"> | ||
+ | $dataGrid->setColumnsAling('id: center', 'nombre: left'); | ||
+ | </source> | ||
+ | |||
+ | *'''caption''' | ||
+ | $tile: es un string que se muestra como titulo en la grilla. | ||
+ | |||
+ | <source lang="php"> | ||
+ | $dataGrid->caption = $title; | ||
+ | </source> | ||
+ | |||
+ | *'''data_source''' | ||
+ | Es una propiedad muy importante ya que se obtienen los datos a mostrar. | ||
+ | los datos son respuesta de un find, o un paginate. | ||
+ | |||
+ | <source lang="php"> | ||
+ | $dataGrid->data_source = $this->Usuarios->find(); | ||
+ | |||
+ | $dataGrid->data_source = $this->Usuarios->find("nombre like '%al%'"); | ||
+ | |||
+ | $dataGrid->data_source = Load::model('usurios')->paginate('per_page: 20', "page: $page", "order: $order $asc_desc"); | ||
+ | </source> | ||
+ | |||
+ | <u>En caso que la grilla tenga un paginador</u> | ||
+ | |||
+ | *'''url''' | ||
+ | Si utiliza paginator la grilla se debe indicar la url para el paginado, sino se indica por defecto obtiene el nombre del controlador y su accion de donde fue creado el dataGrid. | ||
+ | |||
+ | <source lang="php"> | ||
+ | $dataGrid->url = 'usurios/index'; | ||
+ | </source> | ||
+ | |||
+ | *'''show''' | ||
+ | número de paginas que se mostraran en el paginador, por defecto 10. | ||
+ | |||
+ | <source lang="php"> | ||
+ | $dataGrid->show = 10; | ||
+ | </source> | ||
+ | |||
+ | *'''paginator_name''' | ||
+ | |||
+ | Es el nombre del paginador para la grilla por defecto usa el default | ||
+ | puede incluir paginadores del kumbia. | ||
+ | Classic - Digg - Extended - Punbb - Simple | ||
+ | |||
+ | <source lang="php"> | ||
+ | $dataGrid->paginator_name = 'classic'; | ||
+ | </source> | ||
+ | |||
+ | *'''edit''', '''delete''' | ||
+ | Si existe un formulario por parte del programador estas funciones | ||
+ | redireccionan a un controller personalizado, debe indicar el controller_name y action_name por defecto envia el id, a la accion | ||
+ | |||
+ | <source lang="php"> | ||
+ | $dataGrid->edit = 'usuarios/edit'; | ||
+ | |||
+ | $dataGrid->delete = 'clientes/delete'; | ||
+ | </source> | ||
+ | |||
+ | *'''delete_confirm''' | ||
+ | En caso que estubiera activo el delete se puede agregar un mensaje de confirmacion para eliminar. | ||
+ | por defecto viene desactivado, se pueden pasar el campo a confirmar dentro de { }. | ||
+ | |||
+ | <source lang="php"> | ||
+ | $dataGrid->delete_confirm = '¿Desea elmimar este registro?'; | ||
+ | </source> | ||
+ | |||
+ | <source lang="php"> | ||
+ | $dataGrid->delete_confirm = '¿Desea elmimar el registro {id}?'; | ||
+ | </source> | ||
+ | |||
+ | <source lang="php"> | ||
+ | $dataGrid->delete_confirm = '¿Desea elmimar este registro {nombre}, {apellido}?'; | ||
+ | </source> | ||
+ | |||
+ | *'''setMimes($valores)''' | ||
+ | |||
+ | $valores = 'xls: verXls'; | ||
+ | |||
+ | primer parametro es el nombre de la imagen que se encuentra en public/img/dataGrid/*.gif la extencion es gif. | ||
+ | y el segundo parametro es la action que se será invocada en el mismo controlador que se encuentra el dataGrid. | ||
+ | generea un icono al lado del registro, es util cuando el programador desea general una planilla excel o un | ||
+ | pdf por: 'usuario, cliente, etc...'. | ||
+ | |||
+ | <source lang="php"> | ||
+ | $dataGrid->setMimes('xls: descargarXls', 'pdf: verPdf', 'txt: archivoPlano'); | ||
+ | </source> | ||
+ | |||
+ | *'''order_fields''' | ||
+ | Por defecto esta en false. sirve para realizar orden by a los campos pinchando en la cabezera de la grilla. | ||
+ | se puede utilizar con o sin paginado | ||
+ | |||
+ | <source lang="php"> | ||
+ | $dataGrid->order_fields = true; | ||
+ | </source> | ||
+ | |||
+ | |||
+ | para finalizar y llamar al partial debe ser de esta manera | ||
+ | |||
+ | |||
+ | ===USO BASICO=== | ||
+ | |||
+ | '''controller_clientes.php''' | ||
+ | |||
+ | <source lang="php"> | ||
+ | public function index() | ||
+ | { | ||
+ | $this->clientes = $this->Clientes->find("order: nombre");; | ||
+ | } | ||
+ | </source> | ||
+ | |||
+ | '''views/clientes/index.phtml''' | ||
+ | <source lang="php"> | ||
+ | View::content(); | ||
+ | View::helpers('dataGrid'); | ||
+ | $dataGrid = new dataGrid(); | ||
+ | $dataGrid->setFieldsAndHeaders('rut: RUT', 'dv: DV', 'nombre: NOMBRE/RAZON SOCIAL', 'giro: GIRO', | ||
+ | 'direccion: DIRECCION', 'ciudades_nombre: CIUDAD'); | ||
+ | $dataGrid->data_source = $clientes; | ||
+ | View::partial('dataGrid/default',false,array('dataGrid'=>$dataGrid)); | ||
+ | |||
+ | </source> | ||
+ | |||
+ | |||
+ | ===CON PAGINATOR=== | ||
+ | |||
+ | '''controller_clientes.php''' | ||
+ | <source lang="php"> | ||
+ | public function index($page=1, $field='nombre', $order='asc') | ||
+ | { | ||
+ | $this->clientes = $this->Clientes->paginate('per_page: 20', "page: $page", "order: $field $order"); | ||
+ | } | ||
+ | </source> | ||
+ | |||
+ | '''views/clientes/index.phtml''' | ||
+ | <source lang="php"> | ||
+ | <?php | ||
+ | View::content(); | ||
+ | View::helpers('dataGrid'); | ||
+ | $dataGrid = new dataGrid(); | ||
+ | $dataGrid->setFieldsAndHeaders('rut: RUT', 'dv: DV', 'nombre: NOMBRE/RAZON SOCIAL', 'giro: GIRO', | ||
+ | 'direccion: DIRECCION', 'ciudades_nombre: CIUDAD'); | ||
+ | $dataGrid->edit = $controller_name . '/edit'; | ||
+ | $dataGrid->delete = $controller_name . '/delete'; | ||
+ | $dataGrid->delete_confirm = '¿Desea eliminar este registro {rut}-{dv}, {nombre}?'; | ||
+ | $dataGrid->order_fields = true; | ||
+ | $dataGrid->data_source = $clientes; | ||
+ | View::partial('dataGrid/default',false,array('dataGrid'=>$dataGrid)); | ||
+ | ?> | ||
+ | </source> | ||
+ | |||
+ | [[Archivo:dataGrid.jpg]] | ||
+ | |||
+ | |||
+ | |||
+ | [https://sourceforge.net/projects/helperdatagrid/ Descargar] |