SPIP-Contrib

SPIP-Contrib

عربي | Deutsch | English | Español | français | italiano

255 Plugins, 183 contribs sur SPIP-Zone, 177 visiteurs en ce moment

Accueil du site > Navigation > Pages uniques > Pages uniques

Pages uniques

11 décembre 2008 – par RastaPopoulos – 94 commentaires

31 votes

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.

Installation

Zip - 8.2 ko
Télécharger le plugin

La procédure d’installation est classique. Il faut décompresser l’archive du plugin et mettre le plugin dans le dossier... "plugins/" !

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.

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}>
Retour en haut de la page

Vos commentaires

  • Le 12 octobre 2009 à 14:57, par Arnaud

    Bonjour,

    Je suis en SPIP 2.0.9 et page V0.2.2.
    Quand je veux créer une traduction d’une page il me crée bien un nouvel article mais impossible de changer la langue, alors que tout fonctionne quand il s’agit d’article standard créé dans une rubrique.

    Est ce que quelqu’un rencontre le même problème ?

    Est ce qu’il est possible de régler le problème ?

    Merci Arnaud

    • Le 12 octobre 2009 à 15:05, par RastaPopoulos

      Pour moi c’est un problème car je n’ai encore jamais eu à l’utiliser dans un cadre multi-lingue, du coup je n’ai pas testé ces possibilités.

      Il faudrait que quelqu’un ayant des aptitudes à développer et travaillant sur un site multilingue fasse quelques investigations dans le code pour voir ce qui bloque.

      En ce moment je n’ai pas trop le temps désolé. Mais pour rassurer, je ne pense pas que ce soit un problème très compliqué. :)

    • Le 1er août à 03:13, par Birdy

      Bah j’ai regardé un peu..
      Coté symptômes : le champ (en base) spip_articles.lang ne se modifie pas, par contre, le champ spip_articles.id_trad passe à 0.
      Je pense qu’il faut partir de ecrire/action/referencer_traduction.php .
      La fonction instituer_langue_article() ne devrait pas poser de problème. Ça doit venir de action_referencer_traduction_dist().
      Je connais pas mal le PHP, mais pas les rouages de SPIP.
      Comment faire des modif sans toucher au core ?

    Répondre à ce message

  • Le 17 mars à 11:43, par babbibel

    Salut,

    Je crois que personne n’a posé la question mais je me demandais comment on pouvait restreindre l’accès à une page unique en utilisant le plugin accès restreint ?

    Merci...

    • Le 17 mars à 12:02, par RastaPopoulos

      Le plugin accès restreint est basé sur les zones qui contiennent des rubriques, donc là simplement je ne vois pas comment faire pour restreindre uniquement ces articles un par un.

      Faudrait essayer d’utiliser les pipelines de AR pour voir si on peut jouer là-dessus.

    Répondre à ce message

  • Le 22 février à 08:15, par Philippe G.

    Je vais prendre un exemple pour faire simple : je veux reproduire le plan du site dans une page unique (exemple volontairement scolaire pour que je comprenne, j’ai le cerveau lent...) et pour cela je voudrais me servir du squelette déjà existant plan.html (pourquoi pas) avec un squelette que j’appelle volontairement inc-plan.html.

    Quelques autres questions...
    -  D’abord, est-ce possible sur le principe ?
    -  Dans mon cas inc-plan.html est-il un fichier indépendant ou bien autre chose ?
    -  Si, oui, dans le squelette appelé par la page unique, je peux donc utiliser du code SPIP ?
    -  si oui, si on compare au squelette fournit par la distribution, que dois-je mettre (de façon simplifié, pas utilise récupérer le code !) mettre dans inc-plan.html ?

    Si ça te pose trop de problème, contacte moi par mail, pas la peine de polluer ce forum. Mais je bute...

    • Le 22 février à 09:08, par RastaPopoulos

      Mais une "page unique" ce n’est pas un squelette, c’est un *article* SPIP, mais qui n’a aucune rubrique.

      Je ne comprends pas pourquoi tu voudrais utiliser une page unique pour ton plan alors que c’est un squelette uniquement, et pas un article. Donc dans tous les cas tu vas appeler "page=plan".

      Si : ça a un sens si tu utilises le plugin Compositions. Dans ce cas là il peut y avoir une composition "article-plan.html" et qu’ensuite tu choisisses cette Composition pour l’article "page unique" que tu veux faire. Dans ces cas là ça permet à la fois d’avoir les URL propre de l’article, mais d’avoir le bon squelette du plan qui sera dans la composition.

      Mais sinon, ça ne sert à rien, tu utilises juste "page=plan".

    • Le 22 février à 10:33, par Philippe G.

      VU, je crois que j’ai compris ! Merci :-)

    Répondre à ce message

  • Le 21 février à 09:39, par Philippe G.

    Bonjour,
    Je suis en SPIP 2.0.10, avec le dernier plugin Pages 0.3.0 [35098].
    -  J’ai créé un squelette "inc-plan.html" qui reprend le squelette de plan.html de la distribution entre <BOUCLE_secteurs(RUBRIQUES) {racine} {par titre}> et </BOUCLE_secteurs>
    -  J’ai créé une page unique, ai placé inc-plan dans le champ page et l’ai enregistré, avec le titre "Plan du site" (Ca double la page "plan.html")
    -  Sur les conseils de la page du plugin dans SPIP-Contrib, j’ai remplacé la première ligne du contenu de inc-plan.html par <BOUCLE_inc-plan(RUBRIQUES) {racine} {par titre}{page}> et la dernière évidement par </BOUCLE_inc-plan>
    -  J’ai mis en ligne ma page
    -  Total : rien ne se passe. C’est visible là si on clique sur le lien

    Où me suis-trompé ?
    Merci de vos lumières.

    • Le 21 février à 14:12, par RastaPopoulos

      Les pages uniques sont des articles. (RUBRIQUE){page} ne donne donc évidemment rien.

    • Le 21 février à 23:08, par Philippe G.

      Oui, je sais bien que ce sont des articles. Mais j’avais compris que le squelette de page était inclus dans une page html appelée page unique parce que rattachée à aucune rubrique. Moi, ce qui commence par rubrique, c’est le code de "page.html", qui est inclus dans une "page unique". Ce n’est pas bon ?

    • Le 21 février à 23:10, par Philippe G.

      Moi, ce qui commence par rubrique, c’est le code de "page.html", qui est inclus dans une "page unique"

      Autant pour moi. Il faut lite Moi, ce qui commence par (RUBRIQUES), c’est le code de "page.html", qui est inclus dans une "page unique".

    • Le 21 février à 23:13, par Philippe G.

      Je reviens sur tout ce que j’ai dis. je crois que je me trompe., et je vais essayer autre chose. A suivre.

    Répondre à ce message

  • Le 9 février à 16:34, par polatouche

    Même problème pour moi : les articles sont créés, id_rubrique -1, mais le champ page n’existe pas dans la table articles !

    • Le 9 février à 20:32, par RastaPopoulos

      Ah bah au moins on a ciblé le problème : cela veut dire qu’à l’installation du plugin ce champ n’est pas créé dans la base de données, alors qu’il devrait. Il faut donc voir depuis quand ça fait ça (j’ai cru voir un commit passer sur le fichier d’install).

    • Le 9 février à 20:50, par Matthieu Marcillaud

      pour ceux qui ont des problèmes de pages non crées, vous pouvez tenter de :

      • mettre à jour le plugin
      • désinstaller le plugin (via l’icone de désinstallation exprès)
      • réactiver le plugin.

      Si ça ne fonctionne toujours pas, il faudra regarder tmp/*.log mais il n’y a pas de raison !

    • Le 11 février à 17:30, par RastaPopoulos

      Bon ben voilà, il manquait un petit morceau dans le dernier envoi de Marcimat, ça arrive à tout le monde. :)

      Il a corrigé ça tout à l’heure, donc en réinstallant complètement le plugin ça devrait désormais marcher.

    • Le 18 février à 04:17, par lexys

      bonsoir,

      c’est peut être moi, mais il semblerais que cela ne fonctionne pas.

      j’ai bien pu créer ma page, cela la bien garder en mémoire (pas comme précédemment) le titre apparais bien dans le menu de navigation mais lorsque je veut y accéder depuis l’espace publique la page est introuvable.

      ceci étant je débute donc...

      si quelqu’un à une solution je suis preneur.

      merci

    • Le 18 février à 07:50, par RastaPopoulos

      Ça veut dire quoi page introuvable ? Ça fait une erreur 404 ? Ya une URL où on peut voir ?

    • Le 18 février à 12:08, par ?

      Tu as du oublier de lui mettre le statut "publier" à tout les coups

      Vérifie aussi ton lien, il pointe vers quoi ?

      Ce plugin est aussi simple que génial. Manque juste une option pour choisir d’exclure de la recherche les pages uniques sans rajouter de critère dans la boucle de recherche.

    • Le 18 février à 18:03, par lexys

      bonjours,

      alors le site à bien le statu publié. mais par contra je n’ai pas le cadre en au à droite de l’article indiquant habituellement (voir image jointe).

      et voici le lien de la page :
      http://collection.spip.free.fr/spip.php?article6

      JPEG - 47.2 ko
    • Le 18 février à 18:09, par RastaPopoulos

      Apparemment il s’agit bien d’une erreur 404.

      Comment sais-tu que l’article est bien publié puisque justement tu ne vois pas le bloc indiquant le statut de l’article ? Est-ce en ayant regardé dans la base de données ?

      Sinon c’est la première fois que je vois ce bloc de statut qui disparait, donc je ne sais pas du tout d’où ça peut venir pour l’instant.

    • Le 18 février à 19:33, par lexys

      et bien en fait quand je suis dans l’espace privé onglet "à suivre" il y à la liste des article, et la à gauche du titre un carrer indique la situation de l’article, et permet aussi de modifier cette situation. c’est d’ailleurs par la que je suis passé pour modifier celle-ci.
      de plus un lien dans le menu de navigation n’apparait que lorsque l’article est publier. une rubrique même plein n’apparaitra pas si aucun article n’est publié.
      pour la base de donné non je ne l’ai pas regardé. en fait j’ignore comment faire.

    Répondre à ce message

  • Le 6 février à 15:38, par Dodo

    Bonjour

    J’ai un problème lorsque j’installe ce plugin : dès que j’essaye de créer une page unique celle ci ne s’enregistre pas. Quand je valide la page, je tombe directement sur un article à créer (comme si j’avais fait créer un article). le site est vide pour le moment, pas de squelettes non plus. Comme plugins activés : couteau suisse, bonux et porte plume

    une idée pour nous aider ?

    Merci d’avance !

    • Le 6 février à 20:49, par Maïeul

      j’ai parfois le même genre de comportement avec des articles standards, apparement uniquement sous FF 3.6.

      Pouvez vous dire votre navigateur ? Parceque page unique fonctionne à merveille chez moi.

    • Le 8 février à 13:48, par RastaPopoulos

      Et en regardant dans la base de données ? Est-ce que dans la table spip_articles il y a des articles qui s’enregistrent ? Et si oui quel est leur numéro de rubrique ? Et est-ce que leur champ "page" est bien rempli ?

    Répondre à ce message

  • Le 4 février à 15:41, par Aleg

    Bonjour,
    Je viens d’installer le plugin "Pages Uniques" et je fais face à un problème de taille : les pages ne s’enregistrent pas. A la création d’une nouvelle page il y a bien incrémentation de l’article et apparition sur la page d’accueil d’un lien vers une page vide.
    Elle ne contient aucun texte et les pages n’apparaissent pas dans la liste des pages uniques.

    J’ai parcouru les messages précédents et j’ai vu que le problème était déjà apparu. J’utilise Spip 2.0.10 et Ahuntsic. Auriez-vous une idée ?
    Merci.

    Répondre à ce message

  • Le 21 janvier à 15:13, par Tropicaloo

    Bonjour,
    Existe-t-il une possibilité simple (à part le .htaccess) de gérer les URL propres lorsqu’on utilise l’affichage de l’article avec le champ "page" ?
    Merci pour vos conseils.

    • Le 21 janvier à 15:20, par RastaPopoulos

      Je ne comprends pas bien la question. Si vous n’utilisez pas un squelette différent de celui par défaut pour les articles, alors vous faites #URL_ARTICLE, tout simplement, non ?

    • Le 21 janvier à 15:40, par Tropicaloo

      Désolé, je me suis mal exprimé. Je cherche justement à ne pas utiliser la page article par défaut mais la page déclarée dans le champs "page".

      J’obtiens dans ce cas une URL du type : spip.php ?page=notice

      Je cherche à obtenir : /-Notice-.html ou quelque chose de ce genre.

    • Le 21 janvier à 15:58, par RastaPopoulos

      Dans ce cas, non alors. Rien à voir avec ce plugin en particulier évidemment, c’est un problème plus vaste qui concerne les URLs en général.

      Quoiqu’il y aurait une idée possible, ce serait d’ajouter une option "utiliser le squelette déclaré dans le champ page pour cet article". Et ensuite d’utiliser le pipeline "styliser" pour rediriger vers le bon squelette lorsque l’option est choisi.

      Mais c’est donc un développement supplémentaire à ajouter au plugin. Et en ce qui me concerne, je n’ai pas trop le temps pour l’instant. Désolé.

    • Le 21 janvier à 16:27, par Tropicaloo

      Merci pour ces infos. Je vais potasser ça de plus près.

    Répondre à ce message

  • Le 18 décembre 2009 à 10:24, par chag

    Je rencontre le meme probleme que Arnaud au sujet du multilingue. J’ai trouve une solution dégueu et temporaire mais qui a le merite de fonctionner en attendant. J’ai changé la langue directement dans la bdd. un coup de phpmyadmin :

    UPDATE `spip_mabase`.`spip_articles` SET `lang` = ’en’ WHERE `spip_articles`.`id_article` =148 LIMIT 1 ;

    (on peut le faire via l’interface bien sur) et ca fonctionne. En attendant mieux

    • Le 1er janvier à 23:24, par Lo

      Bonsoir à tous !

      Avant toute chose, bonne année à tous et merci encore pour tout ce partage :)

      Un plugin vu par le passé permet d’associer un article à une rubrique. Cela permet d’avoir l’article XXX ouvert automatiquement lorsque l’on clique sur la rubrique YYY. Mais impossible de retrouver ce plugin.

      L’un de vous peut-il m’aider ?

    • Le 21 janvier à 15:18, par Tropicaloo

      Si ce n’est pas trop tard, ici : http://www.spip-contrib.net/Afficher-directement-l-article-si

      (Ce n’est pas un plugin mais des boucles)

    Répondre à ce message

  • Le 28 juillet 2009 à 20:08, par Matthieu Marcillaud

    Hop,

    Me voici pour utiliser à mon tour ton plugin RastaPopulos, et j’ai comme une petite appréhension :
    -  dans un squelette, mettre <BOUCLE_legal(ARTICLES){page=legal}>#TEXTE</BOUCLE_legal> fait quand absence du plugin, SPIP retournera une erreur SQL. C’est assez dommage si on veut proposer des squelettes qui ont des « pages » optionnelles sans nécessiter ce plugin.

    • Le 28 juillet 2009 à 22:07, par RastaPopoulos

      Bonne remarque. Je n’ai encore jamais eu ce problème, car la très grande majorité du temps, les pages uniques utilisent tout simplement le squelette par défaut article.html. Je n’ai d’ailleurs jamais utilisé que ça, n’ayant jamais eu à faire un squelette ultra-différent pour une page unique.

      Mais c’est effectivement un problème. Je vais y réfléchir.

    • Le 28 novembre 2009 à 15:35, par teke

      Et bien oui, l’erreur se produit bien :

      ========================

      ()
      Erreur SQL
      rubriques.id_rubrique, 0+rubriques.titre AS num, rubriques.titre, rubriques.lang FROM spip_rubriques AS `rubriques` WHERE (rubriques.statut = ’publie’) AND NOT((rubriques.id_rubrique IN ( SELECT L1.id_rubrique FROM `npds`.spip_mots_rubriques AS `L1` INNER JOIN `npds`.spip_mots AS L2 ON ( L2.id_mot = L1.id_mot ) WHERE (L2.titre = ’Pas_dans_le_menu’)))) AND (rubriques.id_parent = 0) GROUP BY rubriques.id_rubrique ORDER BY num, rubriques.titre
      You have an error in your SQL syntax near ’SELECT L1.id_rubrique FROM `npds`.spip_mots_rubriques AS `L1` INNER JOIN `npds’ at line 6

      ========================

      quelqu’un à réussi à le résoudre ?

    • Le 28 novembre 2009 à 15:40, par Matthieu Marcillaud

      Version il te faut une version de mysql plus récente (4.1 minimum).
      http://dev.mysql.com/doc/refman/5.0...

    • Le 28 novembre 2009 à 15:44, par teke

      merci,

      donc je ne peux pas utiliser le pug-in puisque je n’ai pas les droits pour en changer...

      est-il possible de transférer les articles produits en articles normaux ?

      si je me contente de désactiver le plugin la base de donnée sera nettoyée ?

      Vraiment dommage... c’était quelque chose qui manquait à spip depuis trèèèès longtemps (^_^)

    • Le 28 novembre 2009 à 15:59, par RastaPopoulos

      Le plugin ne demande rien de particulier en terme de requête SQL. Pas plus que le SPIP de base je veux dire.

      Autrement dit, même sans ce plugin là, tu risques d’avoir de nouveau des problèmes un jour ou l’autre si tu ne mets pas ton SPIP sur un serveur MySQL plus récent.

      La très très grande majorité des hébergeurs ont une version supérieure à 4.1, sachant qu’actuellement la version stable est la 5.1 !!

    • Le 28 novembre 2009 à 16:03, par Matthieu Marcillaud

      J’ai pas l’impression que l’erreur vienne de ce plugin, mais plutot d’une boucle qui aurait une jointure {!mots.titre=Pas_dans_le_menu} . C’est l’expression {!xxx=yyy} qui nécessite MySQL 4.1 je crois plutôt dans ce cas précis. Cependant, la plupart des hébergements proposent des versions de mysql plus à jour que la 4.0.xx que tu as certainement (ecrire/ ?exec=info) pour vérifier.

    • Le 29 novembre 2009 à 08:51, par teke

      Un grand merci pour la réponse.

      Tu as effectivement raison en transformant cette boucle l’erreur ne parait plus. Ce que je ne comprends pas, c’est pourquoi l’erreur n’est parue qu’a partir du moment où j’ai installé le plug-in...

      Pour la version mysql, c’est bien juste, je n’est pas la 4.1... pourtant je suis pas chez un gratuit... loin s’en faut...

      Mais je me vois mal déménager car j’ai des dizaines de listes et de comptes mail pour des personnes étant vraiment débutante en informatique... je crois qu’un tel déménagement serait scabreux... lol

    • Le 29 novembre 2009 à 11:37, par RastaPopoulos

      Quel est ton hébergement ? Parce que c’est VRAIMENT pas normal de pas pouvoir avoir une version de MySQL à jour avec un service payant ! C’est quand même une question de sécurité et de compatibilité avec ce qui se fait actuellement en logiciel.

    Répondre à ce message

Répondre à cet article

Qui êtes-vous ?

Pour afficher votre trombine avec votre message, enregistrez-la d'abord sur gravatar.com (gratuit et indolore) et n'oubliez pas d'indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici
Ajouter un document

Retour en haut de la page

Ça discute par ici

  • Plugin SEO

    6 août 2009 – 50 commentaires

    SEO est un plugin qui ajoute la possibilité d’insérer manuellement où vous le souhaitez ou de manière automatique dans la partie de votre site web : meta tags, URL canonique, Google webmaster tools Meta Code et Google Analytics javascript. Il est (...)

  • SPIP-Immo : Présentation

    2 février 2009 – 28 commentaires

    Nous avons été amené à travailler pour plusieurs agences immobilières. A cette occasion, nous avons constaté qu’elles avaient toutes les mêmes demandes spécifiques liées à leur activité.

  • Multilang

    27 juin – 19 commentaires

    Gestion des tags multi Préambule Ce plugin a été initié par Renato en 2009. Son "cœur" est le fichier multilang.js. A l’origine il ne fonctionnait que sur les pages d’édition des rubriques. Le fichier multilang.js était stocké dans prive/javascript mais (...)

  • NoSPAM

    20 novembre 2008 – 138 commentaires

    Un plugin pour limiter le risque de spam dans les forums de SPIP.

  • Arclite

    24 novembre 2009 – 27 commentaires

    Un thème simple sur une base beige et marron sur 2 colonnes. Avec menu déroulant et logo. Largeur fluide entre 780 et 1200 px. Le thème se décline en 4 modes. Le menu principal peut contenir jusque 4 sous menu. Présentation Adapté de Arclite pour (...)

Urgent : vos articles ne s’affichent plus ce matin ? Un correctif est disponible