Utilizando o pager do doctrine observei uma inconsistência nos resultados paginados, e ao pesquisar descobri o seguinte:
o paginator gerava o código:
SELECT ... ORDER BY weight DESC LIMIT 10 OFFSET 10
acontece que o mesmo registro que aparece na página 2 aparecia também na página 5, isso porque o Offset do postgres necessita obrigatóriamente de um order by único para o offset funcionar corretamente.
Meus registros estavam todos com o weight = 0, ou seja, não havia uma ordem única e fazia com que a paginação não funcionasse corretamente.
Vou mostrar rapidamente como é possível fazer sua própria página utilizando recursos prontos de paginação que o drupal ofereçe.. para detalhar um pouco mais o exemplo, vou colocar o código do menu também....
então vamos lá, para criar uma página própria no seu site, crie um menu como este:
$items['noticias'] = array(
'title' => t('News'),
'page callback' => 'news_main',
'access arguments' => array('access content'),
'type' => MENU_LOCAL_TASK,
);
Código que de vez em quando eu utilizo:
update table set campo = replace(campo, 'string1', 'string_replace')
ideal para corrigir vários paths em registros de uma vez só, exemplo:
renomei minha instalação do drupal que estava no diretório drupal-5.2 para blog dae utilizei isso:
update system set url = replace(url, 'inuar.com/drupal-5.2/', 'inuar.com/blog/');
assim atualiza o path de todos os módulos..