Avant-propos
Ce plugin est inspiré d’une discussion sur le site de phenix et d’un besoin récurrent de créer des champs supplémentaires sur la configuration d’identité du site, mais aussi donner la possibilité de les personnaliser facilement.
Installation
Il suffit de suivre la procédure habituelle d’installation via le gestionnaire des plugins.
Utilisation
Par défaut le plugin propose ces nouvelles entrées : nom_organisation, telephone, adresse, ville, code_postal, region, pays ;
Une fois les champs renseignés sur la page de configuration d’identité du site (?exec=configurer_identite
), à vous d’utiliser les balises dans vos squelettes ainsi :
#IDENTITE_TELEPHONE
#IDENTITE_PAYS
...
Vous disposez également d’un modèle qui reprend les informations par défaut suivant un micro format de schema.org
#MODELE{identite_extra}
Ou lors de la rédaction insérez simplement ce modèle dans le texte.
<identite_extra>
Champs personnalisés
Pour la version < 1.4
Le plugin vous donne la possibilité de créer vos propres champs en surchargeant la globale $GLOBALS['identite_extra']
dans le fichier config/mes_options.php de votre site ou bien dans le fichier prefixe_options.php de votre plugin.
Exemple :
La surcharge suivante
# Champs supplémentaires pour l'identité du site
$GLOBALS['identite_extra'] = array('raison_sociale','code_ape','siret','capital')
Générera le formulaire ci-dessous
Le comportement à été un peu modifié afin de pouvoir utiliser des pipelines. quand bien même une déclaration de GLOBALS reste toujours fonctionnelle, celle-ci ne surchargera pas les champs initialement prévus, mais les complétera.
Pour les créateurs de plugins, pas de soucis, par contre si vous êtes habitués à utiliser un dossier squelettes, il faudra déclarer un pipeline :
// config/mes_options.php
$GLOBALS['spip_pipeline']['identite_extra_champs'] .= "|mes_champs_identite";
Puis la fonction :
// squelettes/mes_fonctions.php
function mes_champs_identite($champs){
$nouveaux_champs = array(
'facebook',
'twitter',
'instagram'
);
// on complète la liste
// $champs = array_merge($champs, $nouveaux_champs);
// ou on la remplace
$champs = $nouveaux_champs;
return $champs;
}
(merci tcharlss !)
Balises IDENTITE_XXX
Chaque champ disponible et déclaré par identite_extra possède sa balise préfixée de #IDENTITE_ utilisable en squelette.
#IDENTITE_RAISON_SOCIALE
#IDENTITE_CODE_APE
#IDENTITE_SIRET
#IDENTITE_CAPITAL
#IDENTITE_MONCHAMP
A noter qu’un message de debug squelette apparaîtra si votre champ n’est pas déclaré correctement.
Exemple avec la balise #IDENTITE_LOL qui n’est pas déclarée dans $GLOBALS['identite_extra']
:
Discussions par date d’activité
Une discussion
Bonjour,
Y aurait-il la possibilité de ne donner accès au formulaire Identité-Extra qu’au seul Webmestre ?
Ainsi les « simples » administrateurs ne pourraient pas modifier ces champs extras ;-)
Merci,
françois
On peut bien sûr surcharger
./prive/formulaires/configurer_identite_extra.html
pour ajouter une condition de statut dans la BOUCLE :Bonjour,
J’ai une demande similaire (mais différente...)
Je voudrais autoriser les admin complets (non webmestres) à modifier les champs identité extra.
J’avais noté cette fonction :
// autoriser admin complet identite site function autoriser_identite_configurer($faire, $type, $id, $qui, $opt) { return $qui['statut'] == '0minirezo' AND !$qui['restreint']; }
mais cela ne semble plus fonctionner - ou alors j’ai mal noté.
Si quelqu’un ici sait me dire.
Merci
dd
J’ai trouvé !
Il faut activer le plugin autorité et modifier le champ « Qui peut modifier la configuration du site ? »
dd
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 : |