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. Avec un lien 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 identifiant de page.

Afficher les pages sur son site
Les pages sont des articles comme les autres, ils n’ont simplement pas de rubrique.
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>
- Avoir un squelette “legal.html” dédié. Comme ce squelette sera appelé par
?page=legal
, le critère{page=legal}
peut se simplifier, dans ce squelette, et s’écrire simplement{page}
. La boucle principale devient alors simplement :<BOUCLE_legal(ARTICLES){page}>
- Depuis la version 1.5.1, il est possible d’avoir un squelette dédié “article=legal.html” qui sera utilisé automatiquement avec la vraie URL de l’article. Ainsi vous pouvez avoir des belles adresses propres tout en ayant un squelette dédié, et sans avoir à utiliser Compositions pour juste un article. Cela fonction aussi avec Z-core pour le squelette du bloc principal.
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.
Remarques techniques : conséquence sur les boucles (ARTICLES)
Les pages unique sont automatiquement exclues des boucles (ARTICLES)
sauf si l’un des critères suivant est présents :
-
{tout}
; -
{page}
avec éventuellement des opérateurs ({page=toto}
, sauf{page=''}
; -
{id_rubrique=-1}
ou{id_rubrique<0}
-
{id_rubrique}
ou{id_rubrique?
avec une rubrique égale à -1 dans l’environnement; -
{id_article}
avec éventuellement des opérateurs: -
{traduction}
et{origine_traduction}
avec éventuellement des opérateurs.
Discussions by date of activity
98 discussions
Bug très embétant en SPIP 3.0.4 [19781] :
la version 1.0.1 de pages uniques a besoin du plugin spipicious qui lui même à besoin du plugin sélécteur générique qui n’existe pas pour SPIP3.
Pas possible d’activer le plugin une fois mis à jour ce qui “casse” la partie publique qui l’utilise.
Le retour en arrière n’a rien d’évident, j’ai utilisé cette commande pour retrouver l’ancienne version :
svn co svn://zone.spip.org/spip-zone/_plugins_/pages/trunk/@62306 v1.0.0
Ce que tu racontes est absolument faux, que ce soit sur plugins.spip.net ou le XML d’où l’info est tiré, à aucun endroit il n’est spécifié de nécessite pour ce plugin.
http://zone.spip.org/trac/spip-zone/browser/_plugins_/pages/trunk/paquet.xml
Effectivement, je me suis trompé, ca ne casse pas la partie publique. Par contre il y a bien un soucis lors de la maj du plugin (non bloquant) : http://dl.free.fr/getfile.pl?file=/h02Ce8RC
“Impossible d’activer le plugin ../plugins/auto/spipicious/v1.0.1
Nécessite le plugin SELECTEURGENERIQUE en version 0.7 minimum.”
Je pense que le soucis vient de la ligne :
qui essaye de ramener le plugin poly hiérarchie et donc spipicious et donc sélécteur générique qui existe pas pour SPIP3. J’ai du supprimer le plugin spipicious à la main via SSH (impossible autrement) pour ne plus avoir d’erreur dans ma page http://www.root-me.org/ecrire/?exec=admin_plugin...
Non mais je le répète : il n’y a AUCUN
<necessite>
. Donc absolument aucun plugin n’est chargé en plus, ce plugin est auto suffisant.Et en plus de ça Polyhiérarchie n’a de toute façpn aucun nécessite non plus donc ne dépend pas du tout de spipicious.
Pour tester un plugin, je rappelle qu’il faut désactiver TOUS les autres, afin d’être sûr de quoi on parle, que ça vienne pas d’un autre truc activé en même temps.
Perso je constate, c’est tout. Je pense que d’autre que moi auront ce problème.
Pourquoi la ligne suivante est elle présente si ce plugin est inutile à Pages ?
Autant la supprimer non ?
Non mais constater ça veut rien dire, ça dépend du contexte, si on constate des éléments qui n’ont rien à voir entre eux, et bien ça ne veut alors rien dire.
Si tu lis la doc, tu vois que “utilise” ce n’est PAS une dépendance, c’est une information qui permet qu’un plugin passe avant un autre dans l’ordre des chargements. Donc aucun rapport avec le fait de nécessite le plugin.
Le plugin Pages ne dépend donc absolument pas de Polyhiérarchie. Et comme je l’ai dit, de toute manière Polyhiérarchie ne dépend pas non plus d’autres plugins, donc pourquoi insistes-tu pour y voir un rapport avec Spipicious ?
As-tu essayé d’activer le plugin Pages avec RIEN d’autre ? Sur un SPIP 3 neuf sans autres plugins.
Reply to this message
Bonjour,
est ce qu’il y a possibilité de supprimer ou de cacher les boutons convertir en page unique / convertir en articles qui apparaissent dans l’admin ?
À moins de modifier le code, non ce n’est pas possible facilement là.
Mais normalement ce bouton n’apparaît que pour les admins, sur un article publié, non ? Donc peu de personnes. Quel est le but exactement ?
Je n’avais pas noté que les pages uniques étaient réservés aux administrateurs.
C’est un site que j’ai récupéré et parmi les utilisateurs une 40aine sont administrateurs. Dans l’idéal j’aimerai qu’ils puissent modifier les pages uniques mais pas en créer ni supprimer ni convertir celles-ci.
Normalement le nombre d’utilisateur doit être revu à la baisse donc pour l’instant je vais laisser dans l’état. Juste pour l’info, quels fichiers du plugin il faudrait modifier ?
Dans page_pipelines.php
Mais le plus propre serait de créer des autorisations propres à ce plugin, propres aux pages, et de les faire pointer par défaut sur celles actuelles càd autoriser(’modifier’, ’article’). Ce qui fait qu’on pourrait alors surcharger ces autorisations sans toucher ni à celles de SPIP ni au fichier.
Reply to this message
Bonjour.
J’ai découvert une incompatibilité avec Exclure secteur (lien vers mon commentaire, histoire de ne pas faire doublon…).
Et merci pour ce plugin bien sympa !
Reply to this message
Bonjour,
Sous SPIP 2.1.12, lorsque je transforme un article en page unique, et que cet article est le seul article d’une rubrique, la rubrique reste en statut “publie”. Il devrait être passé en statut “prive” car il ne contient plus d’éléments publiés.
Effectivement, mais le changement en mode page n’appelle pas la fonction de recalcule de statut des rubriques de la hiérarchie. C’est pareil en SPIP 3 je suppose.
Reply to this message
Salut,
sous SPIP 2.1, avec version 0.3.7 du plugin
#URL_FORUM
ne produit pas le code correct lorsque le forum se situe sur une page unique. Cela me renvoie quelque chose du genre?page=rubrique&id_rubrique=-1#forumxxx
. En revanche il fonctionne pour les articles classiques.Une idée ?
Merci d’avance
Non aucune idée.
Reply to this message
Bonjour,
j’ai fais un petit squelette pour pouvoir attribuer un squelette différent à chaque pages uniques (ou pas)
Squelette article=-1.html (les pages uniques sont classées dans la rubriques -1) :
au niveau des squelettes, spip chargera soit unique.html soit uni-PAGE.html (PAGE étant le nom saisit dans le champs éponyme du plugin)
Et merci pour ce plugin indispensable.
Reply to this message
Merci pour ce plugin juste indispensable.
ne remarque toutefois : j’ai intuitivement tenté d’utiliser la balise
#URL_PAGE{nom_de_ma_page}
qui ne fonctionne pas.#URL_ARTICLE{xx}
suffit cependant.Valéry, pour l’URL, il faut comprendre ce qu’appelle SPIP avec les balises dont vous parlez.
#URL_ARTICLE
appelle classiquement le squelette “article.html” avec en paramètre l’identifiant d’un article (qui est possiblement une page unique).#URL_PAGE{truc}
appelle quand à elle le squelette “truc.html”. Donc il faut que vous ayez un squelette de ce nom pour que cela marche. Par ailleurs, sans additif cette balise n’ajoute aucun paramètre.Ainsi il y a deux options :
#URL_ARTICLE
.#URL_PAGE{nom_de_votre_page}
puis construisez un squelette “nom_de_votre_page.html”. À l’intérieur vous n’aurez alors plus qu’à faire<BOUCLE_ma_page(ARTICLES){page}>
pour sortir la page unique qui aura comme champ “page” le nom “nom_de_votre_page”.Dans la majorité des cas, la présentation classique des articles suffit. Mais ça permet plus de personnalisation si on en a besoin.
Bonjour,
un détail m’a peut-être échappé : même après avoir épluché tous les commentaires et tenté diverses combinaisons, et en spécifiant bien la balise #URL_PAGEpage, l’article s’affiche toujours dans le squelette standard.
Mettons un article en page unique, par exemple le n°68, avec pour champ de page “reglement”, et auquel il s’agit appliquer un squelette spécial.
Je crée donc, d’une part, un squelette “article-68.html”, avec :
et d’autre part, un squelette spécifique “reglement.html”, avec :
C’est bien ça ?
Le problème encore une fois, c’est que c’est bien toujours le squelette de base du site qui s’affiche, et non pas celui de “reglement.html” : je crains donc d’avoir fait un gros contresens quelque part...
Absolument rien de tout ce que tu as dis n’existe hein. :)
“article-68.html” ça a toujours été pour désigner les articles de la branche 68 (rubrique 68 et ses rubriques filles).
Et #URL_PAGE, depuis toujours, sert à générer une URL
spip.php?page=reglement
, qui correspond à ton squelette, donc.Reply to this message
J’aimerais plus d’explication quant à la dernière phrase de la documentation :
J’ai créé une page “contact”, avec le champ page = contact.
J’ai également créé un squelette “contact.html” à la racine du répertoire squelettes, mais il ne semble pas pris en compte automatiquement : quoi que je fasse, ma page appelle toujours le squelette “article.html”.
Est-ce l’exemple que j’ai mal compris, ou est-ce ma manière de procéder qui est fausse ?
Non il n’y a pour l’instant pas d’appel à un squelette depuis le lien #URL_ARTICLE. C’est forcément “page=contact” dans l’URL. Mais cela permet déjà d’appeler toujours le bon article dans ce squelette, sans considération d’identifiant en base de données (qui n’est pas toujours le même suivant le site). Là peu importe l’identifiant, ça appellera toujours le bon truc.
Il est envisagé que le plugin sache chercher automatiquement un plugin du même nom que l’identifiant de la page s’il existe, sinon celui par défaut. Mais ce n’est pas encore fait.
Ok, merci !
Je vais trouver autre chose pour ne pas avoir à changer mes urls.
Reply to this message
Excellent, et du coup avec le plugin Zpip, il suffit d’avoir un contenu avec ceci
merci
Bonjour,
Est-ce que vous pourriez détailler un peu votre commentaire : où faut-il mettre la boucle dont vous parlez ? faut-il créer un fichier à part ? À quoi renvoie le #COMPOSITION, est-ce que ça a avoir avec le plugin du même nom ?
Je voudrais en effet pouvoir faire une page différente avec zpip (une page d’accueil qui n’aurait pas le même format que les autres) mais je ne vois pas comment faire.
Merci par avance.
Une page d’accueil c’est
sommaire.html
et qui n’a pas le même format que les autres c’est en faisant unbody-sommaire.html
(oubody-page-sommaire.html
en Zpip1 peut-être) afin de faire un layout personnalisé pour cette page.Dans Zpip, il me semble que la balise
#COMPOSITION
indique la composition pour un objet, ou le type de page pour une page. Donc donc page=article sur un article qui utilise la composition “article-galerie.html” donnera “galerie”, tandis que page=sommaire donnera “sommaire”.J’avoue que c’est un peu compliqué pour pas grand chose à vrai dire !
Le plugin pages uniques permet de mettre dans le squelette de son choix
pour afficher le texte de l’article correspondant.
Avec
dans un squelette personnel (avec le plugin Zpip1), comme
contenu/page-moncompte
L’appel de
/?page=moncompte
affichera le texte de l’article SPIP dont le champ page est “moncompte”, rien de plus.Aucune correspondance directe avec le plugin composition, l’idée était simplement d’appeler une variable.
Bonjour,
Merci pour vos contributions mais ça ne résout pas mon problème (sans doute parce que j’interprète mal vos propositions).
Avec zpip, le noizetier et un thème, je ne parviens pas à faire une mise en page différente pour ma page d’accueil ou ma page portfolio puisque je voudrais que la div de contenu principal prenne toute la largeur. Or, je n’ai pas moyen de me débarrasser des div sur le côté droit (sidebar et extra) puisqu’elles sont comprises dans cette partie “contenu”. Je suis sûre qu’il doit y avoir un moyen mais je n’y arrive pas.
Peut-être n’est-ce pas du recours du plugin de pages uniques d’ailleurs.
Merci dans tous les cas
Absolument pas ! sidebar et extra sont définis dans “body.html” du thème, et donc si tu crées un “body-sommaire.html” (ou “body-page-sommaire.html” je ne sais plus) et bien ça crée une structure uniquement pour cette pas là précise.
http://zone.spip.org/trac/spip-zone/browser/_squelettes_/zpip-dist/branches/zpip_v1/body.html
Bon, ça ne marche pas, ou alors je ne fais pas ce qu’il faut. Mais tant pis, je vais bien trouver un moyen. Merci quand même.
Sans voir le code et sans voir le site, difficile d’aider... Cf : Les choses à faire avant de poser une question :)
Reply to this message
Bonjour,
Comment avoir une version compatible SPIP 3 zippée? Je vois que le plugin est dispo ici http://zone.spip.org/trac/spip-zone/browser/_plugins_/pages/trunk mais je ne sais pas comment le télécharger.
Merci.
en général, dans le trunk, ce n’est pas stable, donc pas de zip. Enfin c’est à Rastapopoulos de décider si zip ou pas zip.
Pour ceux qui veulent se lancer dans SPIP 3 avant sa sortie officielle, le mieux est d’utiliser svn pour récuperer les plugins non officiellement sorties.
Voir un tuto pour pour windows http://www.cent20.net/spip.php?article155
pour mac http://zine.spip.org/spip.php?article44
Reply to this message
Add a comment
Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :
Merci d’avance pour les personnes qui vous aideront !
Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.
Follow the comments:
|
