Paginação nos anúncios

5

Uma coisa que me chamou a atenção é que muita coisa do WHMCS usa o sistema de paginação, mas os anúncios não tem esta função.  Mas é coisa simples de fazer:

Veja um exemplo funcionando

  1. Acesse seu /seu_whmcs/templates/sua-pasta/announcements.tpl
  2. Antes de tudo, salve uma cópia deste arquivo, caso algo dê errado.
  3. No espaço onde deseja inserir os seus anúncios, insira o código abaixo:

//Conectando ao banco de dados
$link = mysql_connect($db_host,$db_username,$db_password);
mysql_select_db($db_name);
//O que puxar do banco de dados
$campos_query = "*";
$final_query  = "FROM tblannouncements";
//Em que página estamos
$pagina = $_GET["pagina"];
if($pagina == "") {
$pagina = "1";
}
// Itens por página
$maximo = 5;
$inicio = $pagina - 1;
$inicio = $maximo * $inicio;
//Pega número de registros da tabela announcements
$strCount = "SELECT COUNT(*) AS 'num_registros' $final_query";
$query    = mysql_query($strCount);
$row      = mysql_fetch_array($query);
$total    = $row["num_registros"];
//Se não tem nada, retorna mensagem
if($total<=0) {
echo "Nenhum registro encontrado.";
}
//Se achou algo, vamos puxar os dados
else {
$strQuery = "SELECT $campos_query $final_query ORDER BY date DESC LIMIT $inicio,$maximo";
$query    = mysql_query($strQuery);
while($row = mysql_fetch_array($query)) {
//Titulo
 echo "

".$row["title"]."

"; //Formatando a data $formadata = date('d/m/Y', strtotime($row["date"])); echo "".$formadata.""; //o Anuncio echo $row["announcement"]; //Separador echo "
"; } // $menos = $pagina - 1; $mais = $pagina + 1; $pgs = ceil($total / $maximo); if($pgs > 1 ) { echo "
"; if($menos > 0) { echo "anterior "; } for($i=1;$i <= $pgs;$i++) { if($i != $pagina) { echo " $i"; } else { echo " ".$i.""; } } if($mais <= $pgs) { echo " próxima"; } } }

O código acima tem o css que usei para estilizar o “blog”.

.data {font-size:10px; color:#666666 }
span.pagina_atual {border:1px solid #000000; padding:5px; font-weight:bold; text-align:center; text-decoration:underline}
a.pagina {border:1px solid #CC0000; padding:5px; text-align:center; }

Lembre-se de que o código acima funciona com a url padrão do WHMCS, se estiver usando urls amigáveis você tem 3 escolhas:

  • Alterar o código para apontar para a url amigável;
  • Desativar a url amigável no admin do whmcs;
  • Apagar no seu .htaccess (ou apenas comentar com #) a parte referente aos announcements.

5 COMENTÁRIOS

  1. Desculpe, mas não entendi onde colocar este código? Devo por em um arquivo em branco ou em alguma parte específica do arquivo announcements.tpl?

    valeu!

DEIXE UMA RESPOSTA

Please enter your comment!
Please enter your name here