En poco tiempo se usar codeigniter realmente me gusto usarla por lo flexible y una forma clara de escribir el codigo. Pero tambien trabajo mucho con el framework KUMBIAPHP que no es nada malo pero no tiene mucha comunidad su crecimiento se da pero poco a poco pero este framework tiene una clase en el core que nos ayuda hacer muy facil los mantenimientos y al ver que codeigniter no cuenta con ellos escribi una libreria muy simple pero capas de ayudar al proceso del desarrollo de nuestros mantenimientos.
lo pueden bajar desde github
https://github.com/luizrodriguez/Codeigniter-class-mantenimiento
Como usar la libreria mantenimiento para codeigniter?
- para instalar debemos colocar el archivo Mantenimiento.php en la siguiente ruta \application\libraries
- debemos cargar la libreria y para ello buscamos en la carpeta \application\config el archivo autoload.php y ahi un array llamado $autoload[‘libraries’] y le agregamos el nombre de nuestra libreria «mantenimiento» y quedaria algo asi $autoload[‘libraries’] = array(‘database’,’mantenimiento’);
- ahora en la misma variable array que cargamos mantenimiento tambien debemos cargar la libreria de session $autoload[‘libraries’] = array(‘database’,’session’,’mantenimiento’); por que la libreria lo necesita
Ejemplo:
NUEVO
como la libreria necesita un array para que le pasemos la manera mas factible es hacer que los input sean array donde en el ejemplo se ve que al nombre del input es usuarios[nombre] donde usuarios seria el nombre de la tabla y nombre el campo donde se va ingresar el valor del input
view
views/usuarios/nuevo
Controller
controllers/usuarios
public function nuevo() { if ($this->input->post("usuarios")) { $post=$this->input->post("usuarios"); $data["tabla"]="usuarios" $this->mantenimiento->agregar($post,$data["tabla"]); redirect("usuarios/lista_usuarios"); } } |
EDITAR
como la libreria necesita un array para que le pasemos la manera mas factible es hacer que los input sean array donde en el ejemplo se ve que al nombre del input es usuarios[nombre] donde usuarios seria el nombre de la tabla y nombre el campo donde se va ingresar el valor del input
view
views/usuarios/actualizar
Controller
controllers/usuarios
public function actualizar() { if ($this->input->post("usuarios")) { $post=$this->input->post("usuarios"); $data["tabla"]="usuarios" $this->mantenimiento->editar($post,$data["tabla"]); redirect("usuarios/lista_usuarios"); } } |
ELIMINAR
como la libreria necesita un array para que le pasemos la manera mas factible es hacer que los input sean array
view
views/usuarios/lista_usuarios
aqui coloco un tipico listado con 2 formas de eliminar un registros por un checkbox y podemos eliminar varios con marcados o uno por uno con muestra el link que esta en la ultima columna de la tabla
Controller
controllers/eliminar
public function eliminar($id=null) { //si lo hace por los checkbox serviria esto if ($this->input->post("items")) { $ids=$this->input->post("items"); $data["tabla"]="usuarios" $this->mantenimiento->eliminar($ids,$data["tabla"]); redirect("usuarios/lista_usuarios"); } if ($id!=null) { $this->mantenimiento->eliminar($id,$data["tabla"]); } } |
y para mostrar el mensaje que viene por defecto en la libreria en donde quieran mostrarlo deben imprimir
echo $this->session->userdata("mensaje"); |
y si lo quieres mostrar directamente en la vista
$CI = & get_instance(); echo $CI->session->userdata("mensaje"); |