Améliorer la pagination de base dans la partie publique

bazooka07bazooka07 PluXml Lead Developer, Moderator
Bonjour,

Avec quelques petites modifs, on peut améliorer l'aspect visuel de la pagination des articles dans la partie publique.

Dans la fonction pagination du fichier core/lib/class.plx.show.php, remplacer tout ce qui est sous la ligne de commentaire "# On effectue l'affichage" par ce qui suit :
[== PHP ==]
$f_disable = ($this->plxMotor->page > 2) ? '' : ' onclick="return false;"';
$p_disable = ($this->plxMotor->page > 1) ? '' : ' onclick="return false;"';
$n_disable = ($this->plxMotor->page < $last_page) ? '' : ' onclick="return false;"';
$l_disable = (($this->plxMotor->page + 1) < $last_page) ? '' : ' onclick="return false;"';
	
$k = get_defined_constants();
$label = sprintf(L_PAGINATION, intval($this->plxMotor->page), intval($last_page));

echo <<< PAGINATION
<a class="p_first" href="$f_url" title="{$k['L_PAGINATION_FIRST_TITLE']}"$f_disable>{$k['L_PAGINATION_FIRST']}</a>
<a class="p_previous" href="$p_url" title="{$k['L_PAGINATION_PREVIOUS_TITLE']}"$p_disable>{$k['L_PAGINATION_PREVIOUS']}</a>
<span class="p_page p_current">$label</span>
<a class="p_next" href="$n_url" title="{$k['L_PAGINATION_NEXT_TITLE']}"$n_disable>{$k['L_PAGINATION_NEXT']}</a>
<a class="p_last" href="$l_url" title="{$k['L_PAGINATION_LAST_TITLE']}"$l_disable>{$k['L_PAGINATION_LAST']}</a>
PAGINATION;
Attention, à l'appairrage des accolades "{...}"

Il y a également les constantes à modifier dans le fichier de langues core/lang/fr/core.php :
[== PHP ==]
'L_PAGINATION_FIRST' => '&lt;&lt;',
'L_PAGINATION_PREVIOUS' => '&lt;',
'L_PAGINATION_NEXT' => '&gt;',
'L_PAGINATION_LAST' => '&gt;&gt;',
'L_PAGINATION' => "page %1$02d / %2$02d",

Et pour finir, remplacer les règles relatives à ".pagination" par les règles suivantes dans la feuille de styles themes/defaut/theme.css :
[== CSS ==]
.pagination a,
.pagination span {
	padding: .525rem 0.4rem;
	margin: 0 0.2rem;
}
.pagination a {
	display: inline-block;
	width: 3rem;
	background-color: #258fd6;
	color: #fff;
}
.pagination span {
	background-color: #D1E3E9;
}
.pagination a:hover {
	background-color: #3a6c96;
	color: #fff;
	text-decoration: none;
}
.pagination a[onclick^='return'] {
	color: LightGray;
	background-color: #77B2D7;
}

Le résultat devrait ressembler à ceci :
aaIzOBd.png

ou http://jeveuxpartir.free.fr/pluxml/

A++
Connectez-vous ou Inscrivez-vous pour répondre.