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 uniques 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 par date d’activité
104 discussions
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.
Répondre à ce 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.
Répondre à ce 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.Répondre à ce 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.
Répondre à ce 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 :)
Répondre à ce 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
Répondre à ce message
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.
Répondre à ce message
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.
Répondre à ce 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
Répondre à ce message
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.
Répondre à ce message
Ajouter un commentaire
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.
Suivre les commentaires : |