Hyperlier vers les Articles Précédent et Suivant
Quand votre site contient une séquence d'articles qui sont logiquement consultés l'un après l'autre, vous pourriez vouloir fournir un lien "Suivant" sur chaque page qui va vers l'article suivant dans la séquence et si possible un lien "Précédent" qui retourne à l'article précédent. Ceci permet à vos visiteurs de lire les articles les uns après les autres au lieu de les obliger à revenir à la page d'accueil après chaque article.
Créer les liers Avant et Après est facile avec CityDesk et peut être complètement automatisé en incluant un CityScript dans le gabarit de l'article.
Avant de créer un lien Suivant et Précédent, vous devez décider quels articles à inclure dans la séquence. Pas exemple, considérez ce site :
![]()
Dans ce site, ce pourrait avoir du sens de fournir des liens "Suivant" et "Précédent" dans chaque chapitre du livre. Par exemple quand vous lisez le Chapitre 2, il y aurait un lien vers le Chapitre 1 et un lien Suivant vers le Chapitre 3. De toutes les façons, vous ne voulez probablement pas le lien "Précédent" à partir du Chapitre 1 à relier vers l'article mal orthographié qui traite des "alligators " dans le dossier Articles, parce qu'il ne fait pas partie de votre livre.
Pour y parvenir, quand vous créez un lien Suivant ou Précédent, vous devez spécifier le jeu exact des articles que vous voulez inclure dans la séquence, et leur ordre d'apparition (de tri). Ceci peut être réalisé exactement avec la même syntaxe que pour la commande forEach. Pour les liens Suivant :
{$ nextLink n var in (condition) sort-order $}
.... link body ....
{$ end $}
Pour les liens Précédent, utilisez simplement à la place le mot-clé previousLink :
{$ previousLink n var in (condition) sort-order $}
.... link body ....
{$ end $}
Remarquez que cela semble pratiquement similaire à une commande forEach. Vous avez besoin de spécifier un nom de variable et une condition. En option, vous pouvez fournir un ordre de tri et un nombre maximal d'articles à inclure (n). Voilà un exemple de ce qui pourrait être utilisé dans le gabarit de chapitre du livre et les liens suivants vers les autres chapitres du livre :
{$ nextLink n in (folder "Book") $}
<a href="{$n.Link$}">Suivante</a>
{$ end $}
{$ previousLink p in (folder "Book") $}
<a href="{$p.Link$}">Précédente</a>
{$ end $}
A l'intérieur du corps de nextLink et previousLink nous pouvons placer tout ce que nous voulons. Nous pouvons même sortir des champs de l'article suivant (précédent) tel que l'en-tête. Voilà un exemple vous montrant l'en-tête :
{$ nextLink n in (folder "Book") $}
<a href="{$n.Link$}">Suivante</a>: {$ n.Headline $}
{$ end $}
{$ previousLink p in (folder "Book") $}
<a href="{$p.Link$}">Précédente</a>: {$ p.Headline $}
{$ end $}
Quand il n'y a pas d'article suivant ou précédent selon la séquence que vous avez spécifiée, rien ne s'affiche. De toutes façons, vous pouvez utiliser la clause else pour fournir un texte de remplacement qui s'affichera quand il n'y a pas d'article précédent ou suivant :
{$ nextLink n in (folder "Book") $}
<a href="{$n.Link$}">Suivante</a>
{$ else $}
La Fin
{$ end $}
{$ previousLink p in (folder "Book") $}
<a href="{$p.Link$}">Précédente</a>
{$ end $}
Cet exemple affichera les liens suivants (Next) s'ils sont disponibles et les liens précédents si disponibles. Sur le dernier article, quand il n'y a plus d'article suivant, il affichera La Fin à la place.
Comme vous pouvez le constater, nextLink et previousLink fonctionnent comme forEach . Pensez-y comme une variante de forEach qui inclut par magie seulement un article, le suivant ou le précédent, comme extrait de l'article en cours. En fait le moyen le plus facile pour créer un lien Précédent ou Suivant est de copier la boucle forEach à partir de la déclaration de votre page index et de remplacer le mot-clé forEach avec nextLink ou previousLink, puis remplacer le mot-clé next avec end.