Listador para el Backoffice

Helper List

Helper List es una clase que sirve para crear listados de resultados, con formato de tablas. Provee también mecanismos de filtrado de datos y ordenamiento sobre los mismos listados.

Funcionamiento

A continuación se listan los métodos de la clase con una breve descripción de que realiza cada uno.

function HelperList($name)

Constructor de la clase. El parámetro $name indica el nombre de la variable dentro del html donde se va a parsear HelperList.

function allowPaintMouseOver($val)

Esta función indica si se va a cambiar el color de una fila durante un evento onMouseOver. El valor de $val puede ser 'true' o 'false'.

function allowCustomOrder($val)

Esta función permite cambiar el orden de las filas en el momento en que se visualize el HelperList. En el caso de que $val sea 'true' se podrá cambiar el orden de una fila mediante drag and drop.

function allowModify($value) ,function allowDelete($value)

allowModify permite definir si se va visualizar el botón de modificar y allowDelete define si se va a ver el botón eliminar. En ambos casos, los valores que puede tomar el parámetro $val son 'true' y 'false'.

function setSQL($sql)

Setea la consulta de la cual se van a obtener los datos que se van a mostrar en el HelperList.

function setWidth($width) , function setHeight($height)

Definen el alto y el ancho de la tabla.

function hasButtons()

Devuelve si 'true' si se puede modificar o eliminar la fila, 'false' en caso contrario.

function addField($titulo,$campo,$width = 200, $align = 'left',$filter = '')

Agrega un campo a la tabla.

El parámetro título indica el nombre del campo. También pueden utilizarse códigos de traducciones.
Ej :

$Lista->addField("[{1|}]", "titulo")

creará un campo que va a tener el nombre que tenga el template para la variable de traducción 1.

 

El parámetro $campo indica que campo de la consulta que se setea en setSql se va a mostrar.

 

El parametro widh Indica el ancho del campo.

 

El parametro align Indica la alineación del nombre del campo.

 

El parametro filter Indica la forma en que queremos filtrar los datos de esa columna. Los valores que puede tomar filter son : "select", "text" y "combo".

Ejemplo de un filter text :

$Lista->addField('[{5|}]','titulo',300,'left','text');
$Lista->addField('[{4|}]', 'orden',300,'left','text');
$Lista->addField('[{3|}]', 'id',100,'left','text');

 

Ejemplo de un filter select :

$Lista->addField('[{5|}]','titulo',300,'left','select');
$Lista->addField('[{4|}]', 'orden',300,'left','select');
$Lista->addField('[{3|}]', 'id',100,'left','select');

function parseList($vista)

Parsea el contenido de HelperList a la vista pasada como parámetro. La variable dentro de la vista se debe llamar igual que la variable que se pasa en el constructor de la clase.

Ejemplo completo de creación de un HelperList

$Lista = new HelperList('gestion_noticia');
$Lista->setSQL("
SELECT id, titulo, orden
FROM mno_noticia
LEFT JOIN mno_noticiaxidioma ON mno_noticiaxidioma.id_noticia = mno_noticia.id
WHERE idioma = '$idioma_gestio' AND padre = ''
ORDER BY orden ASC
");
$Lista->addField('[{5|}]','titulo',300,'left','text');
$Lista->addField('[{4|}]', 'orden',300,'left','select');
$Lista->addField('[{3|}]', 'id',100,'left','select');
$Lista->allowCustomOrder(true);
//$Lista->allowDelete(false);
$Lista->allowModify(true);
$Lista->allowDelete(true);
$Lista->allowPaintMouseOver(true);
$Lista->parseList($vista);