Início > Curiosidades, Desenvolvimento, Novidades > SmartyPaginate (Paginação Smarty)

SmartyPaginate (Paginação Smarty)

Bom dia pessoal! Tudo bem?

Hoje estarei postando o mais novo plugin Smarty para paginação,  que estaremos utilizando nas próximas implementações.

O Portal Cidade do Conhecimento junto com o acesso a conteúdo pedagógicos (Minha Página), possui agora uma classe própria para criação de Paginação utilizando-se da estrutura Smarty e camada Ajax.

Seguem aqui os passos para utilização desta classe utilizando-se de nossa estrutura MVC (PHP) com camada Ajax, atualmente utilizada nos projetos.

Pré-requisitos para implementação: Conhecimento básico de Smarty e Ajax

A implementação da estrutura de paginação devem seguir 3 passos de implementação:

1) CLASSE CONTROLADORA

Na classe Controladora (control) da estrutura MVC, realizar a chamada à classe SmartyPaginate, e setar os parâmetros conforme o exemplo abaixo:

a. session_start();
b. SmartyPaginate::connect();
c. SmartyPaginate::setTotal($totalLinhasGeral);
d. SmartyPaginate::setFunction(“minhaPagina.searchDados”);
e. SmartyPaginate::setCurrentItem($_POST[‘pagina’]);
f. SmartyPaginate::setNextText(‘Próximo’);
g. SmartyPaginate::setPrevText(‘Anterior’);
h. SmartyPaginate::addFunctionPar(“1”);
i. SmartyPaginate::setLimit(LINHAS_POR_PAGINA);
j. SmartyPaginate::setPageLimit(LIMITE_DE_PAGINAS);

k. Na pesquisa em banco de dados, incluir o limit da seguinte forma, no caso de utilização de Data Object do Pear:
$dao->limit(SmartyPaginate::getCurrentIndex()*SmartyPaginate::getLimit(), SmartyPaginate::getLimit());

Importante:

Toda a paginação trabalha com variáveis de sessão, desta forma é importante incluir o session_start no construtor da classe control;

Incluir: Smarty/SmartyPaginate.class.php

2) NA VIEW

Faz-se necessário incluir 2 linhas:

a) Atribuir o resultado vindo do Banco de Dados ao template Smarty:
$smarty->smarty->assign(‘results’, $dados);

b) Atribuir a variável {$paginate} passando o objeto smarty completo:
SmartyPaginate::assign($smarty->smarty);

Obs:
A classe de paginação reconhece automaticamente um objeto do tipo smarty;

A variável $dados, deve ser um array com todos os dados vindos do banco, com índice numerado. Cada número deve corresponder a 1 resultado da busca;

3) TEMPLATE SMARTY

No Template Smarty Inclui-se a linha:
{paginate_prev} {paginate_middle}  {paginate_next}

Desta forma, através dos 3 plugins Smarty de paginação, a paginação ja passa a funcionar, utilizando-se da tecnologia Ajax com a camada do Smarty;

É isso, simples d+ né😉

Qualquer dúvida: dirosa@ici.curitiba.org.br

Grande abraço a todos!

Publicado por Dilberto Rosa – Programador PHP – ICI

  1. Wellington Reis
    27/10/2014 às 9:17 PM

    Cadê um exemplo pra gente tirar dúvidas

  1. No trackbacks yet.

Deixe uma Resposta

Preencha os seus detalhes abaixo ou clique num ícone para iniciar sessão:

Logótipo da WordPress.com

Está a comentar usando a sua conta WordPress.com Terminar Sessão / Alterar )

Imagem do Twitter

Está a comentar usando a sua conta Twitter Terminar Sessão / Alterar )

Facebook photo

Está a comentar usando a sua conta Facebook Terminar Sessão / Alterar )

Google+ photo

Está a comentar usando a sua conta Google+ Terminar Sessão / Alterar )

Connecting to %s

%d bloggers like this: