Plugin personnaliser l’espace privé par rubriques

Cette contribution surcharge des fichiers et/ou des fonctions de SPIP : il n’est donc pas garanti qu’elle fonctionne avec d’autres contributions surchargeant lesdits fichiers et/ou fonctions. Sa compatibilité avec les versions de SPIP est donc assez restreinte.

Ce plugin permet de reprendre une partie des options de configurations du site (activer les brèves, la syndication, les mots clés, etc.) et de les adapter en fonction des rubriques.
De même il est possible de personnaliser les champs de saisie de l’espace privé pour les objets éditoriaux.

Présentation

Ce plugin permet de reprendre une partie des options de configurations du site et de les adapter en fonction des rubriques. Par défaut SPIP permet de configurer pour l’ensemble du site si l’on souhaite ou non utiliser les brèves, les sites syndiqués, les types de champs à utiliser pour les articles (surtitre, sous-titre, chapeau, date de rédaction antérieure, etc) ou les rubriques (descriptif rapide). Ces informations sont stockées dans la table spip_metas de la base de données. Une précédente contribution permettait de personnaliser ces options (cf. Personnaliser les champs de l’espace privé) en fonction de la rubrique. Cette contribution est reprise ici sous forme de plugin.

Le plugin installe un nouvel onglet « Privé perso » sous le menu configuration.

Cet onglet permet de créer de nouvelles personnalisations à l’aide d’un formulaire de saisie et de gérer les personnalisations déjà crées (modifier, supprimer activer/désactiver).

Fonctionnalités

Un formulaire de saisie permet de choisir quelle rubrique l’on souhaite personnaliser, si la personnalisation doit s’appliquer aux sous-rubriques, et si l’on souhaite personnaliser le texte des champs de saisie.

Choix des objets éditoriaux et de leurs champs :
Voici la liste des objets que l’on peut choisir d’afficher/utiliser en fonction des rubriques :

-  Pour les articles :

  • les activer ou non
  • Surtitre
  • Sous-titre
  • Descriptif rapide
  • Texte
  • Chapeau
  • Post-scriptum
  • Date de rédaction antérieure
  • Liens url

-  Pour les rubriques :

  • Autoriser ou non la création de sous-rubriques
  • Descriptif rapide
  • Texte

-  Les brèves

  • Les activer ou non (y compris dans les sous-rubriques à partir de la version 0.5)

-  Syndication de sites

  • L’activer ou non.

-  Utilisation des mots clés

  • L’activer ou non.

Modification des intitulés des champs de saisie :

Aspect technique

Nouvelles tables

Le plugin installe deux nouvelles tables dans la base de données :
-  spip_priveperso
-  spip_priveperso_texte
La première table permet de stocker les options de configuration pour chaque rubrique tandis que la deuxième stocke les textes des champs de saisie.

Le plugin récupère l’id_rubrique en cours et en fonction de celui-ci surcharge $GLOBALS[’meta’]. Cette surcharge est effectuée lors de l’appel au pipeline ’exec_init’.
Pour ce qui est des articles et des sous-rubriques (les activer ou non), le plugin passe par le pipeline ’autoriser’

Pipelines

Les pipelines utilisées par ce plugin :
-  declarer_tables_principales
-  declarer_tables_interfaces
-  exec_init
-  autoriser

Surcharges

Pour le texte, un fichier local_fr.php permet de surcharger les chaines de langue.

Les formulaires d’édition des articles, breves et rubriques ont aussi du être surchargés... en effet ces formulaires utilisent souvent une même chaine de langue (par exemple <:titre :>) à plusieurs endroits, ce qui ne permettait pas par exemple de personnaliser l’intitulé du champs titre pour les articles sans modifier celui des rubriques et des brèves.

De nouvelles chaines de langue ont donc été introduites dans editer_article.html, editer_rubrique.html et editer_breves.html.

A partir de la version 0.5, l’extension des brèves aux sous-rubriques implique la surcharge de deux fichiers supplémentaires : ecrire/action/editer_breves.php et prive/formulaires/editer_breves.php.

Cette surcharge peut être problématique si les fichiers ci-dessus sont déjà surchargés par ailleurs. Si la surcharge a lieu après ce plugin, on perd une partie de la personnalisation des champs de saisie (modifier le champs « Titre : » des articles modifiera aussi par exemple les champs « Titres : » des url, des brèves et des rubriques).

Multilinguisme

A partir de la version 0.4, on peut saisir le texte des champs que l’on souhaite modifier à l’aide des balises multi <multi>[fr]Mon texte[en]My text[es]Mi texto </multi>.

Du coup, lorsque l’on change la langue de navigation dans l’espace privé, les nouveaux champs s’affichent dans la bonne langue.

Exemple : un site avec trois secteurs.

1er secteur : « Légumes »

Pour ce secteur on souhaite publier des légumes. Pour chaque légume seules 3 informations sont demandées :
-  le nom latin (surtitre)
-  le nom commun (titre)
-  l’espèce (sous-titre).

On ne veut dans ce secteur ni brèves ni sites, et une application aux sous rubriques (hiver, printemps, été, automne).

2e secteur : Fruits

Pour ce secteur, les champs à renseigner seront à nouveau :
-  le nom latin (surtitre)
-  le nom commun (titre)
-  l’espèce (sous-titre)
et on rajoute :
-  recette associée (texte).

3e secteur : blogue du jardin

On garde toutes les fonctionnalités possibles (tous les champs des articles + sites + brèves).

La navigation dans la rubrique « Légume » donnera par exemple :

et en cliquant sur « Ecrire un nouveau légume » on obtient :

Pour savoir comment installer des plugins :Installer un plugin

Attention : Pour la version 0.3, j’utilisai très mal le pipeline autoriser... Le plugin passait outre les autorisations par défaut de spip de créer des sous-rubriques ou des articles.

La version 0.4 corrige cela et de plus vérifie si les fonctions concernées sont déjà définies par ailleurs (mes_options, autres plugins). Du coup le plugin redevient compatible avec le plugin Autorité par exemple (mais on perd l’autorisation par rubrique pour les articles et les sous-rubriques).

Version 0.5 : Les brèves peuvent être utilisées dans les sous-rubriques (moyennant la surcharge de deux fichiers de spip : ecrire/action/editer_breves.php et prive/formulaires/editer_breves.php)

Version 0.6 : Ajout des items de date dans la personnalisation (« DATE DE PUBLICATION EN LIGNE : » et « DATE DE CRÉATION DE L’ARTICLE : »

Discussion

Aucune discussion

Ajouter un commentaire

Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :

  • Désactiver tous les plugins que vous ne voulez pas tester afin de vous assurer que le bug vient bien du plugin X. Cela vous évitera d’écrire sur le forum d’une contribution qui n’est finalement pas en cause.
  • Cherchez et notez les numéros de version de tout ce qui est en place au moment du test :
    • version de SPIP, en bas de la partie privée
    • version du plugin testé et des éventuels plugins nécessités
    • version de PHP (exec=info en partie privée)
    • version de MySQL / SQLite
  • Si votre problème concerne la partie publique de votre site, donnez une URL où le bug est visible, pour que les gens puissent voir par eux-mêmes.
  • En cas de page blanche, merci d’activer l’affichage des erreurs, et d’indiquer ensuite l’erreur qui apparaît.

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.

Qui êtes-vous ?
[Se connecter]

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

Ce champ accepte les raccourcis SPIP {{gras}} {italique} -*liste [texte->url] <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.

Ajouter un document

Suivre les commentaires : RSS 2.0 | Atom