Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Rai Siqueira

Problema com paginação

Recommended Posts

Fala galera, blz? Então, resolvi uma bronca da paginação com Slim Framework. Porém os resultados que aparecem na página principal estão começando a partir do 3º item.

Exemplo: na pagina inicial (site.com.br/teste) ao invés da exibição começar do post 1, está começando do post 3. (No teste estou exibindo na tela 2 posts por página)

<?php

use JasonGrimes\Paginator;
// Rota para testes

$app->get('/teste/:slug/(:page/)', function($slug, $page = 1) use($app, $ajustes, $capsule){

	//Seleciona o artista a partir do Slug
	$artista = Artistas::where('slug', '=', $slug)->firstOrFail();

	// Retorna o numero de posts do artista
    $p = Shows::showsArtista($artista->id)->count();

    // Retorna o numero de páginas para fazer a paginação
    $pages = $p / $ajustes->artista_por_pag;

    // Se deu tudo certo até agora, a aplicação continua
    if($page > $pages) $app->pass();

	$slugArt = $artista->slug;

	//array com todos os shows do artista
	//$shows_do_artista = Shows::showsArtista($artista->id)->all();
	$shows_do_artista = $capsule->table('shows')->where('show_artista', '=', $artista->id)->orderBy('criado_em','desc')->skip($ajustes->artista_por_pag * $page)->take($ajustes->artista_por_pag)->get();

	//paginacao Jason Grimes
	$total = $p;
	$urlPat = $app->request()->getUrl() . DS . 'teste' . DS . $slugArt . DS . "(:num)/";
	if(!$page){
		$page = 1;
	}
	$paginator = new Paginator($total, $ajustes->artista_por_pag, $page, $urlPat);
	$get = $paginator->getPages();

    $infos = array(
    	'artista' 			=> $artista,
    	'site_titulo' 		=> $artista->nome,
    	'site_descricao' 	=> $ajustes->titulo . " | " . $ajustes->descricao,
		'site_url'			=> $ajustes->site_url,
		'shows'				=> $shows_do_artista,
		'paginator'			=> $paginator
    	);
	$app->render('teste.html', $infos);
})->conditions(array('page' => '\d+'));

http://pastebin.com/dEA34eKS

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.