Genb web content management system for use with Macromedia® Dreamweaver®
GenB by Inte. Web content management system wcms  cat  cas  eng
home|documentación|contactar producto|ventajas|10 razones|contratar genb|faq
  distribuidores|referencias|demo online
Documentation
 descargar manual usuario (394.2 KB)
 descargar manual integrador (651.7 KB)

follow GenB on twitter GenB Changelog now on twitter
 manual integrador
 introducción
 documentación
 introducción a GenB
 instalación
 por donde empezar
 instrucciones comunes a todo módulo GenB
 particularidades de cada módulo GenB
 importación y exportación XML
 manual usuario

 
establecer filtros en vistas listado

la utilización de filtros en vistas listado permite realizar consultas o búsquedas de manera que los resgistros resultantes cumplan una serie de condiciones.

el uso de filtros nos permitirá obtener listados que cumplan condiciones como p.ej.:
-. listar registros ... con "fecha" mayor que ...
-. listar registros ... que contengan en campo "titulo" la palabra clave ...
-. listar registros ... con campo "nombre" = ...
-. listar registros ... donde campo "precio" > ...

    el establecimiento de filtros en listados es común a los módulos:
  • News (Actualidad).
  • Registries (Registros).
  • Newsletters (Circulares).
  • Generics (Páginas genéricas).
  • Products (Productos).

como definir filtros

para utilizar filtros en listados es preciso facilitar los parámetros de definición del filtro previa contrucción del listado.

los parámetros de definición del filtro podran enviarse mediante uno de los siguientes métodos (o combinación de los mismos):

1.- enviando los parámetros en la misma url que llamará al listado. pe.: (para consultar las noticias de actualidad de inte con fecha superior (gt: great than) a 1/3/2003) index.php?date=20030301&scm_date=gt

2.- enviando los parámetros de filtro utilizando un formulario:

< form action="http://www.inte.es/cas/actualitat/index.php">
< input type="text" name="date" value="2003-03-01">
< input type="text" name="scm_date" value="gt">
< input type="submit" value="buscar">



3.- fijando los parámetros en la misma página listado. pe.:
< ?php
$_REQUEST['date'] = '2003-03-01';
$_REQUEST['scm_date'] = 'gt';

# Configuration
$uid = '123412341234123412341234';
$NewsListLanguage='2';
$NewsListNumItems='3';
$NewsListNumLinks='5';

## new class news list
include_once('genb/Cnews.inc');
$news_list = new Cnews($uid,$NewsListLanguage,$NewsListNumItems,$NewsListNumLinks);

? >
< HTML>
< HEAD>
...
...

parámetros de definición del filtro

los parámetros que se pueden emplear en la definición de filtros son de tres tipos:



1.- la variable campo/etiqueta a utilizar en el filtro. Esta variable se encargara de transportar el valor a utilizar en el filtro (pe la fecha a partir de la cual deseamos ver noticias index.php?date=20030301 ...). Pueden utilizarse los tipos de campo siguientes:



campos de tipo variable o definidos en modelo de datos:

-. texto: designar utilizando etiqueta.

-. texto corto: designar utilizando etiqueta.

-. lista abierta: designar utilizando etiqueta.

-. lista cerrada: designar utilizando etiqueta.



campos de tipo fijo:

-. nombre o referencia interna: designar como "internal_ref".

-. fecha: designar como "date".

-. fecha de alta del registro: designar como "date_ini".

-. fecha de modificación del registro: designar como "date_mod".



2.- la variable que especifica el tipo de filtro. Al establecer un filtro hay que indicar el modo en que se compara el contenido del filtro con los valores almacenados en el conjunto de registros gestionados por el sistema.



el nombre del parámetro encargado de indicar el tipo de filtro, se construye añadiendo el prefijo "scm_" (search comand method) al nombre del campo o etiqueta utilizado en el filtro.



p.ej. si se desea obtener el conjunto de registros con fecha "date" mayor que (grate than) "2003-03-03", el parámetro que indicará el tipo de filtro llevará por nombre "scm_date".



los distintos valores (tipos de filtro) que las variables scm_... podran tomar son:

-.neq: (not equal) no igual a ...

-.eq: (equal) igual a ...

-.gt: (grate than) mayor que ...

-.gte: (grate than or equal) mayor que o igual que ...

-.lt: (less than) menor que ...

-.lte: (less than or equal) menor que o igual que ...

-.cn: [valor por defecto] (contains) contiene ...

-.bw: (between) entre dos valores separados por coma

-.ew: (ends with) acaba por ...

-.sw: (starts with) empieza por ...

-.cn: [valor por defecto] (contains) contiene ...

-.in: (in) está en la lista de valores separados por coma ...

-.nin: (not in): no está en la lista de valores separados por coma ...



NOTA: los filtros sobre campos 'lista cerrada' solo admiten los tipos de filtro in y nin. En los filtros con campos de tipo 'lista cerrada' siempre se utiliza el valor del identificador del item de la lista, nunca el contenido textual del mismo.



3.- 's_field_operator' la variable que especifica el tipo de unión entre distintos filtros. Al utilizar más de un filtro simultaneamente se aplica por defecto el operador de union 'AND' ('y'). Indicando que todos los filtros deben darse en el conjunto de items resultantes.



los distintos valores (tipo de operador entre filtros) que la variable 's_field_operator' podrá tomar son:

-.or: (ó) con el cumplimiento de uno de los filtros en cada registro resultante es suficiente.

-.and: (y) el cumplimiento de todos los filtros es necesario con cada uno de los registros resultantes.

ejemplos en la aplicación de filtros

a continuación se describen algunos ejemplos de como aplicar filtros en listados (a modo de ejemplo se utiliza el listado de actualidad de inte:



1.- listado de items actualidad con 'fecha' > 1-1-2003:



index.php?date=2003-01-01&scm_date=gt



2.- listado de items actualidad donde 'fecha' > 1-1-2003 y el cuerpo de la noticia 'Text' contiene 'GenB':



index.php?date=2003-01-01&scm_date=gt&Text=GenB



NOTA: no es necesario especificar scm_Text=cn al ser éste el tipo de filtro empleado por defecto.



3.- listado de items actualidad donde 'fecha' > 1-1-2003 ó el cuerpo de la noticia 'Text' contiene 'GenB':



index.php?date=2003-01-01&scm_date=gt&Text=GenB&s_field_operator=or

 
GenB
GenB powered by powered by GenB wcms
© inte. Barcelona 2004 legal notice