Pasos para usar ficheros del mac 1.- Copiar controlador, modelo, vistas y entidad 2.- Copiar los ficheros de idioma. Le pone nombre raro (por ejemplo: Manipuladoes.php en lugar de Tarifamanipulado.php). Buscar y reemplazar en todos los ficheros. En este ejemplo: lang('Manipuladoes -> lang('Tarifamanipulado) 3.- Editar los idiomas 4.- En las vistas (formulario y lista) cambiar la segunda linea Esto: extend("themes" . config("Basics")->theme["name"] . "/AdminLayout/defaultLayout") ?> por esto: extend('themes/backend/vuexy/main/defaultlayout') ?> 5.- En las vistas cambiar Themes por themes 6.- Quitar de la tabla la primera columna para que no se repitan los botones. Es decir: id), lang('Basic.global.edit'), ['class'=>'btn btn-sm btn-warning btn-edit me-1', 'data-id'=>$item->id,]); ?> 'btn btn-sm btn-danger btn-delete ms-1', 'data-href'=>route_to('deleteTarifamanipulado', $item->id), 'data-bs-toggle'=>'modal', 'data-bs-target'=>'#confirm2delete']); ?> 7.- Modificar las fechas de esto: date('mm/dd/YYYY H:i' a esto date('d/m/Y H:m:s' 8.- Cambiar los botones de exportar de sitio: "dom": 'lfrtipB' por "dom": 'lfBrtip' 9.- Poner el botón de añadir debajo del h3 del card header en lugar del footer 10.- Copiar las nuevas rutas Pasos para añadir el soft delete a una tabla 1.- En la bbdd añadir la columna is_deleted (TINYINT, 4 bits, sin signo, valor predeterminado '0') 2.- En la bbdd añadir la columna deleted_at (TIMESTAMP, permitir NULL, valor predeterminado NULL) 3.- En la entidad añadir a los atributos: "deleted_at" => null, "is_deleted" => 0, 4.- En el modelo. Añadir en allowedFields: "deleted_at", "is_deleted", También añadir la variable protected $deletedField = 'deleted_at'; 5a.- Sin lazy tables: En el controlador: En el index añadir debajo de $this->view.. // Se indica que este controlador trabaja con soft_delete $this->soft_delete = true; // Se indica el flag para los ficheros borrados $this->delete_flag = 1; En el edit: justo al principio // JJO $session = session(); debajo de $sanitizedData = $this->sanitized($postData, $nullIfEmpty); // JJO if(isset($this->model->user_updated_id)){ $sanitizedData['user_updated_id'] = $session->id_user; } 5b.- Con lazy-tables: En el modelo cambiar: $builder = $this->db ->table($this->table . " t1") ->select( "t1.id AS id, t1.nombre AS nombre, t1.code AS code, t1.code_ot AS code_ot, t1.show_in_client AS show_in_client" ); por $builder = $this->db ->table($this->table . " t1") ->select( "t1.id AS id, t1.nombre AS nombre, t1.code AS code, t1.code_ot AS code_ot, t1.show_in_client AS show_in_client" ) ->where("is_deleted", 0);