Este es un controlador extendido para editar modelos rápidamente. Simplemente indicas el modelo y las columnas a editar. Permite crear, editar y eliminar. No necesita definir una vista (incluye la suya propia). Tienes un video-tutorial muy completo aquí: https://youtu.be/M5LlRJOJ_Eg
<?php
class edit_articulo_proveedor extends fs_edit_controller
{
public function __construct($name = __CLASS__, $title = 'Artículo proveedor', $folder = 'Compras')
{
parent::__construct($name, $title, $folder);
}
public function get_model_class_name()
{
return 'articulo_proveedor';
}
protected function set_edit_columns()
{
$proveedores = $this->sql_distinct('proveedores', 'codproveedor', 'nombre');
$this->form->add_column_select('codproveedor', $proveedores, 'Proveedor', 3, true);
$this->form->add_column('refproveedor', 'string', 'Ref. proveedor', 3, true);
$this->form->add_column('referencia', 'string', 'Referencia', 3);
$this->form->add_column('codbarras', 'string', 'Cod. Barras', 3);
$this->form->add_column('descripcion', 'textarea', 'Descripcion', 12);
$this->form->add_column('precio', 'money', 'Precio');
$this->form->add_column('dto', 'number', 'Descuento');
}
}
En esta función debemos indicar el nombre del modelo a utilizar. Este modelo debe heredar de fs_extended_model para mayor compatibilidad, y porque estos nuevos modelos son supersencillos.
En esta función debemos definir qué columnas del modelo queremos editar.
$this->form->add_column($col_name, $type, $label, $num_cols, $required);
Para añadir una nueva columna a editar.
$this->form->add_column_select($col_name, $values, $label, $num_cols, $required);
Para añadir un select o combobox al formulario.
Obtener valores rápidamente de una tabla: Podemos usar la función $this->sql_distinct($tabla, $columna)
$values = $this->sql_distinct('fs_logs', 'tipo');
Para combinarlo bien con un fs_list_controller debes añadir un botón nuevo en el controlador listado:
$this->add_button($tab_name, 'Nuevo', 'index.php?page=NOMBRE_DEL_CONTROLADOR_EDIT', NOMBRE_DE_LA_COLUMNA_PRIMARIA);
Y por último indicar la url al hacer clic en una línea:
$this->decoration->add_row_url($tab_name, 'index.php?page=NOMBRE_DEL_CONTROLADOR_EDIT&code=', NOMBRE_DE_LA_COLUMNA_PRIMARIA);
Buscar
Necesita identificarse para continuar con esta acción. Haga clic en iniciar sesión o cree una cuenta.
Iniciar sesiónFecha de creación | 09-08-2018 00:00:00 |
Última actualización | 14-02-2019 |
Contador de visitas | 1081 |