Catálogo V2
De CidesaWiki
- Para trabajar con el /catálogo nuevo se debe hacer de la siguiente forma:
button_to_popup('...',cross_app_link_to('herramientas','catalogo').'/metodo/Caordcom_Almajuoc/clase/Caordcom/frame/sf_admin_edit_form/obj1/caajuoc_ordcom/obj2/caajuoc_desord/param1/'+$('forencpryaccespmet_codpro').value+'")
- Los parámetros que debe llevar el llamado son los siguientes:
metodo: este parámetro identifica el método que se ejecutará en la clase "CatalogoWeb" para generar el criterio de búsqueda del catálogo.
clase: identifica la clase/tabla de la cual se van a obtener los datos.
frame: objeto form HTML donde se encuentran los objetos a modificar.
obj#: es el nombre del objeto donde se colocarán los datos que traiga el catálogo.
campo#: es el nombre del campo del cual se traerán datos para ser colocados en el obj# respectivo.
param#: es el nombre del campo del cual se traerán datos que esta en la vista para el controlador.
- por ejemplo..
Si yo coloco en el parámetro obj1 el nombre de un objeto html, debo colocar en campo1 el nombre del campo de donde se buscarán los datos a colocar en el objeto contenido por obj1.
Es importante que los parámetros sean pasado bajo la nomenclatura de symfony, la cual coloca solo barras invertidas para separar todo, ya sea parámetro de valor.
Por ultimo la función cross_app_link_to('herramientas','catalogo') es usada para hacer enlaces entre aplicaciones, ya esto esta configurado y no debe ser cambiado ya que el nuevo catálogo esta en una app llamada herramientas, no en el módulo generales de cada app como anteriomente trabajabamos.
Cada uno de los keys de los registros del arreglo identifica el campo en la tabla $clase que será llamado para obtener datos y colocarlos en el campo del valor del registros, por ejemplo, en la declaración anterior se llamará al campo "campo1" de la tabla $clase y se colocará en la columna 2 de la fila del grid actual.
- $metodo: es una variable con el nombre de la función que será usada para filtrar los datos a mostrar en el grid. Por ejemplo si yo quiero crear un criterio de selección en el catálogo, se debe crear una función dentro de la clase llamado "Tabla_Formulario", y este nombre debe ser pasado en la variable para que el catálogo lo llame y se cree el criterio de selección que necesitamos.
un ejemplo de la estructura de esta función sería:
public function Caordcom_Almajuoc($params) { // La variable columnas contiene las columnas que queremos sean mostradas en el grid $this->columnas = array (CaordcomPeer::ORDCOM => 'Código', CaordcomPeer::FECORD => 'Fecha', CaordcomPeer::DESORD => 'Descripción'); // la variable c guarda el criterio de busqueda que será usado por el pager para mostrar los datos. $this->c = new Criteria(); }