BalisePagination

All contributions published for previous SPIP versions

Voici comment adapter les filtres pagination ou PaginationAvancee pour les heureux testeurs de la belle beta1.8

dans mes_fonctions.php3 ajouter la fonction :

function balise_PAGINATION ($p) {
		if ($p->id_mere === '') {
			include_local("inc-admin.php3");
			erreur_squelette(_L("Champ #PAGINATION hors boucle"), '', $p->id_boucle);
		}
		if (!$p->fonctions) {
			include_local("inc-admin.php3");
			erreur_squelette(_L("Paramètres #PAGINATION manquant"), '', $p->id_boucle);
		}
		else {
			reset($p->fonctions);
			list(, $params) = each($p->fonctions);
			ereg("([^,]*)(,(.*))(,(.*))?", $params, $regs);
			$position = addslashes($regs[1]);
			$pas = addslashes($regs[3]);
			$fonction = addslashes($regs[5]);
			// autres filtres
			$filtres=Array();
			while (list(, $nom) = each($p->fonctions))
				$filtres[] = $nom;
			$p->fonctions = $filtres;
		}
		$p->code = "pagination("
			."\$Numrows['".$p->id_mere."'],"
			.$position.","
			.$pas;
		if($fonction) $p->code .= ",".$fonction;
		$p->code .= ")";
		$p->boucles[$p->id_mere]->numrows = true;
		$p->type = 'php';
		return $p;
	}

dans le squelette html :

<BOUCLE_articles_pagination(ARTICLES){id_rubrique}{par date}{inverse}>
</BOUCLE_articles_pagination>


[(#PAGINATION|debut_page,10)]

</B_articles_pagination>

<BOUCLE_article_liste(ARTICLES){id_rubrique}{par date}{inverse}{debut_page,10}>
...Ce qu'on veut...
<a href="#URL_ARTICLE">#TITRE</a>
...Ce qu'on veut...
</BOUCLE_article_liste>

à terme, appeler cette balise dans la même boucle qui affiche la liste... ce serait bien sympa...

exemple

squelette de pétition :

fichier petition.php3 :

<?php

$fond = "petition";
$delais = 24 * 3600;

//lien_pagination spécifique au squelette petition.html
function lien_pagination($url, $item, $i) {
    return "<a href=\"".$url."#signatures\">".$item."</a>";
}

include ("inc-public.php3");

?>

fichier petition.html :

<!-- Signatures petition -->

<BOUCLE_signatures_decompte(SIGNATURES) {id_article}></BOUCLE_signatures_decompte>
[<div class="signatures-titre"><:signatures_petition:>: (#TOTAL_BOUCLE)</div>

<table class="signatures">
<thead class="structure">
<tr>
	<td><:date:></td>
	<td><:nom:></td>
	<td><:message:></td>
</tr>
</thead>
<tbody>]
[<tr>
    <td id="signatures" colspan="3"
    class="signature-date">(#PAGINATION|debut_signatures,30)</td>
</tr>]
<//B_signatures_decompte>
<BOUCLE_signatures(SIGNATURES) {id_article} {par date} {inverse}
{debut_signatures,30}>
<tr>
	<td class="signature-date">[(#DATE|affdate_court)]</td>
	<td class="signature-nom">#NOM[<br><a href="#URL_SITE">(#NOM_SITE)</a>]</td>
	[<td class="signature-message" width="40%">(#MESSAGE|sinon{"&nbsp;"})</td>]
</tr>
</BOUCLE_signatures>
</tbody>
</table>
</B_signatures>

dans article.html, remplacer les boucles de signatures par :

<INCLURE(petition.php3){id_article}>

updated on 4 March 2007

Discussion

Aucune discussion

Comment on this article

Who are you?
  • [Log in]

To show your avatar with your message, register it first on gravatar.com (free et painless) and don’t forget to indicate your Email addresse here.

Enter your comment here

This form accepts SPIP shortcuts {{bold}} {italic} -*list [text->url] <quote> <code> and HTML code <q> <del> <ins>. To create paragraphs, just leave empty lines.

Add a document

Follow the comments: RSS 2.0 | Atom