Pages uniques

Allez, avouez... il ne vous est jamais arrivé d’avoir besoin d’articles qui ne sont rattachés à aucun rubriquage particulier ? Des articles uniques, n’ayant ni de thème, ni de rapport avec aucun autre ? Ou encore des articles pour lesquels vous avez besoin de faire un squelette particulier mais dont le contenu doit rester modifiable classiquement dans l’interface privée ?

Des pages, en quelque sorte. Des pages uniques rattachées à rien.

On a tous utilisé des bidouilles devenues des habitudes, que ce soit en se basant sur des mots-clés “techniques” ou bien en créant une rubrique “fourre-tout” que l’on devait ensuite rendre invisible dans tous nos squelettes en mettant {id_rubrique!=1}, par exemple.

Ce plugin propose de faire tout cela de manière plus propre et plus pratique.
On peut alors l’utiliser pour créer des pages de notice légale, d’à-propos, ou encore de contact.

Créer des pages

Le plugin ajoute une entrée “Pages uniques” dans le menu “Édition”.

On arrive sur une liste des pages déjà créées. Accolée à une boite permettant d’en ajouter de nouvelles.

Le formulaire de création d’une page est le même que celui d’un article. Sauf qu’on n’a pas à choisir de rubrique. À la place, on désigne un nom de page (qui peut être, par exemple, le nom d’un squelette).

Afficher les pages sur son site

C’est très simple, puisque les pages sont des articles comme les autres, ils n’ont juste pas de rubrique [1] .

Vous pouvez donc :

  • Utiliser une boucle classique <BOUCLE_art(ARTICLES){id_article=38}>#URL_ARTICLE</BOUCLE_art>
  • Utiliser les raccourcis dans les textes [->art38]
  • Cela utilisera donc le squelette normal “article.html”

Mais les pages uniques ont aussi un champ “page” ! Qui peut être utilisé de plusieurs manières pour récupérer habilement ses pages.

Imaginons que l’on ait créé une page “Notice légale” avec le mot “legal” dans le champ “page”. On peut alors :

  • Faire une boucle <BOUCLE_legal(ARTICLES){page=legal}>#TEXTE</BOUCLE_legal>
  • Et mieux encore, avoir un squelette “legal.html” dédié, dans lequel on n’a plus qu’à faire <BOUCLE_legal(ARTICLES){page}>

Lorsqu’on veut juste l’URL, il existe aussi la balise #URL_PAGE_UNIQUE{identifiant} qui permet de retourner l’#URL_ARTICLE mais depuis l’identifiant textuel donné à la page.

Footnotes

[1Chaque page unique a un id_rubrique=-1 : on peut les filtrer/éliminer d’une boucle article par le critère {id_rubrique>0} ou plus simplement {page=''}

updated on 2 October 2019

Discussion

88 discussions

  • 1

    En SPIP 2.1.12 j’ai un soucis sur le multilinguisme. L’interface de langue est active sur l’article mais aucun changement de la langue, ni les liens de traduction ne sont enregistrés.

    • Il me semble avoir déjà vu passer un report de bug similaire, mais en fait je n’ai jamais utilisé ce plugin dans un contexte multilingue (ou alors petit, donc j’utilisais multi dedans). Du coup je n’ai jamais pu tester quel était le problème.

    Reply to this message

  • 5
    Tropicaloo

    Bonsoir, un petit retour de test sur 3.0 beta.

    Sur un SPIP 3.0.0-beta [18576] et Pages 0.3.7 [53442] : une fois téléchargé depuis la page “Ajouter des plugins”, il est impossible d’activer le plugin dans la page "Liste des plugins. Celui-ci reste grisé et la case à cocher pour l’activation est absente. De plus le titre < multi > du plugin affiche toutes les traductions disponibles.
    Cordialement.

    • En fait il y a une incohérence entre la page de doc et le plugin.xml du plugin. Dernièrement tous les XML décrivant les plugins ont été revu pour vérifier la compatibilité à SPIP, et dans le doute on ne laissait que jusqu’à la stable (puisque peu de plugins ont été testés pour 3.0).

      Pour tester il suffit de modifier le XML et changer la compatibilité à SPIP pour mettre [2.0.0;3.0.*] par exemple.

      Et si ça marche il faut changer pour de bon le XML.

    • -  Le passage en [2.0.0 ;3.0.*] pour le fichier plugin.xml est OK. Le plugin s’installe correctement.

      -  la balise <multi> ne semble pas exploitée dans le <nom> du plugin. Seul le <slogan> prend en compte le paramètre multi.

      -  Malheureusement le plugin ne fonctionne pas ensuite. Lors de la création d’une page unique ou de la conversion d’une page déjà existante, on obtient le message d’erreur : Fichier articles_edit introuvable (test effectué en local sur un wampserver)

    • Donc il n’est pas compatible SPIP 3. En effet le nom de tous les exec ont changé.

    • Ah mais non je raconte n’importe quoi !

      Le plugin marche très bien sur SPIP 3, mais c’est un autre paquet (qui n’a pas encore de ZIP) !

      http://zone.spip.org/trac/spip-zone/browser/_plugins_/pages/trunk

    • Super tip top, ce paquet marche nickel !
      Merci beaucoup.

    Reply to this message

  • Bonjour,

    d’abord merci pour ce plugin bien utile.
    J’aimerai savoir comment enlever l’auteur qui apparait lorsque la page est créée.
    Lorsque je clique sur ma page Contact, Dans la même rubrique apparaît avec toutes mes pages uniques alors que j’ai enlevé cet affichage de ma page article.
    Pourriez-vous me comment modifier ces paramètres?
    Merci

    Reply to this message

  • 1

    J’ai l’impression que les articles créés sous forme de Page avec le plugin posent problème lors de la mise en place des URL arborescentes.

    Alors que celles-ci fonctionnent pour les autres articles du site sous la forme monsite/repertoire/marubrique/article/monarticle elles sont tronquées pour les articles de type Page unique : monsite/article/monarticle seulement, sans prendre en compte le sous-répertoire déclaré dans RewriteBase le htaccess

    Je suis en SPIP 2.1 avec la version : 0.3.7 [49315] du plugin.

    • Je me répond à moi-même. Il semble que le problème vienne plutôt des URL arborescentes qui peuvent poser problème quand le site est dans un sous-répertoire, et non pas du plugin Pages uniques.

    Reply to this message

  • 4
    Valéry

    La rubrique en question n’apparaît pas dans les boucles rubriques en effet mais quand je suis sur l’un des articles de type “Page unique” dans un squelette qui prévoit d’afficher tous les articles de la même rubrique (boucle ARTICLES avec le critère id_article), SPIP m’affiche la liste des pages unique (normal a priori car ils partagent tous le même identifiant de rubrique -1). Mais du coup c’est peu pertinent ces pages n’ayant rien à voir entre elles.

    Est-ce un comportement conforme à celui prévu par le plugin ? Ya-t-il un moyen pour l’éviter (j’ai pour l’instant exclu la rubrique -1 par un critère).

    Je suis en SPIP 2.1.8 [16966] avec la Pages 0.3.2

    • Je n’ai pas d’avis précis là-dessus. On pourrait dire que dès qu’il y a un critère “id_rubrique” dans une boucle article, alors on exclu les pages. Après si on veut avoir toutes les pages uniques, pour un plan par exemple, on peut utiliser {page != ""}.

    • je voudrais exclure les pages uniques de la navigation mais je n’arrive pas à réutiliser ton exemple ci-dessous :
      {page !=""}

      pourrais-tu dépanner mes neurones ?

      merci

    • Relisons la phrase : l’exemple que tu cites est pour faire l’inverse de ce que tu demandes.

    • Oui mais lorsque je mets {page=""} je n’ai plus aucun article dans la navigation.

      qu’elle est la bonne syntaxe ?
      merci

    Reply to this message

  • 2

    Hello

    Je souhaiterais pouvoir utiliser ce plugin avec selection d’articles et donc afficher dans la page exec=pages_tous, le bloc listant les articles sélectionnés et permettant d’en rajouter.

    Si je passe par le pipeline “affiche_milieu” de Selection d’articles, tout ce qu’il y a dans le flux est
    vars Array ( [args] => Array ( [exec] => articles_page ) [data] => )

    Le test sur exec=articles_page est-il suffisant pour s’assurer de bien etre dans la page exec=pages_tous ? A mon avis non... Mais si tu peux me donner une piste...

    Merci

    • C’est un bug, cf le code de l’exec, les autres pipelines sont bien renseignés.

      En fait il faudrait surtout mettre l’exec en squelette dans prive/exec plutôt. M’enfin c’est pas essentiel, faut juste corrigé l’appel du pipeline pour ton besoin.

      Pour SPIP 3 ça a déjà été mis en squelette dans le trunk.

    • Ok, j’ai corrigé. Merci

    Reply to this message

  • Bonjour,

    après installation du Plugin,

    dans la partie privée tout fonctionne correctement, j’ai su rédiger ma page et la valider.
    Mais rien n’apparaît dans la partie public (même via le lien voir en ligne à côté de l’article).
    J’ai bien plusieurs rubriques de crées et j’utilise la dernière version de Spip avec les plugins suivants :
    -  CFG - Compositions - Formulaires&Tables - Google Analytics - Spip Bonux et pages bien évidement.

    Si quelqu’un pouvait m’éclairer je serais le plus heureux car j’ai vraiment besoin de pouvoir utiliser ce Plugin.

    Merci à tous.

    MikL

    Reply to this message

  • Bonjour, et merci pour ce plugin simple et efficace. J’ai une suggestion à faire: je trouve que les pages uniques gagneraient à être affichées dans l’espace privé dans la page “édition”. Ce serait plus clair pour les rédacteurs.

    Merci encore!

    Reply to this message

  • 1

    Bonjour,

    merci pour ce plugin.
    je n’ai pas réussi à créer un évènement sur une page unique... est-ce possible ?
    merci d’avance pour les réponses.

    Ben

    • Aucune idée, je n’ai jamais essayé. Mais c’est bizarre que ça n’y soit pas, les pages étant des articles comme les autres. Tu n’as pas bloqué la création d’évènement à une rubrique précise ?

    Reply to this message

  • Et mieux encore, avoir un squelette “legal.html” dédié, dans lequel on n’a plus qu’à faire <BOUCLE_legal(ARTICLES){page}>

    Le 30 septembre à 09:20, par RastaPopoulos

    Ce plugin ne permet pas de faire ça ( un article <-> un squelette), ce n’est pas prévu pour l’instant. Pour utiliser un autre squelette que article.html pour tel ou tel article, on peut installer Compositions, qui est fait pour ça.

    Contradiction ou évolution du plugin ?
    ou faut-il, quoi qu’il en soit, styliser ou installer Composition ?

    je pose cette question car j’ai suivi simplement l’exemple du squelette legal.html et rien ne se passe ...

    Ceci dit, [(#PAGE|=={contact}|oui)#FORMULAIRE_TESTOU] dans article.hml suffit et fonctionne, dans ce cas-là (assez simple) du moins.

    Reply to this message

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