/**
  * Paginador para listados.
  */
 public static function pager($paramsMap)
 {
     // Agrega params de ordenamiento al paginador.
     $model = Model::getInstance();
     $paramsMap['dir'] = $model->get('dir');
     // puede no estar
     $paramsMap['sort'] = $model->get('sort');
     // puede no estar
     $bodyPrev = isset($paramsMap['bodyPrev']) ? $paramsMap['bodyPrev'] : "Previo";
     $paramsMap['bodyPrev'] = NULL;
     $bodyNext = isset($paramsMap['bodyNext']) ? $paramsMap['bodyNext'] : "Siguiente";
     $paramsMap['bodyNext'] = NULL;
     // Las reglas para filtrar offset y max estan en PersistentObject::filtrarParams
     //$offset = (isset($paramsMap['offset'])) ? $paramsMap['offset'] : '0';
     //$max    = (isset($paramsMap['max']))    ? $paramsMap['max'] : '50';
     $filteredParams = PersistentObject::filtrarParams(new ArrayObject($paramsMap));
     $offset = $filteredParams['offset'];
     $max = $filteredParams['max'];
     if (!isset($paramsMap['count'])) {
         throw new Exception("El parametro 'count' es obligatorio y no aparece en la lista de parametros");
     }
     $count = $paramsMap['count'];
     $paramsMap['count'] = NULL;
     // El helper link necesita la accion, le paso la accion actual.
     $ctx = YuppContext::getInstance();
     $paramsMap['action'] = $ctx->getAction();
     // Agregado de params de filtrado a links (http://code.google.com/p/yupp/issues/detail?id=49)
     $_params = $model->getAll();
     // params + lo que metio el controller como model para la view
     foreach ($_params as $k => $v) {
         if (String::startsWith($k, 'filter_')) {
             $paramsMap[$k] = $v;
         }
     }
     $linkPrev = "";
     if ($offset - $max >= 0) {
         // Link previo
         $paramsMap['body'] = $bodyPrev;
         $paramsMap['offset'] = $offset - $max;
         $linkPrev = '[ ' . self::link($paramsMap) . ' ] ';
     }
     // pagina actual / cantidad de paginas
     $pagerState = floor($offset / $max) + 1 . ' / ' . ($count == 0 ? '1' : ceil($count / $max));
     $linkNext = "";
     if ($offset + $max < $count) {
         // Link Siguiente
         $paramsMap['body'] = $bodyNext;
         $paramsMap['offset'] = $offset + $max;
         $linkNext = ' [ ' . self::link($paramsMap) . ' ] ';
     }
     return $linkPrev . $pagerState . $linkNext;
 }