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}
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
Pour la version > 1.4
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é
3 discussions
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
Répondre à ce message
Bonjour,
J’ai suggéré une évolution pour ce plugin ici https://git.spip.net/spip-contrib-extensions/identite_extra/issues/1 afin de pouvoir utiliser des Saisies (par exemple, champ avec plusieurs lignes).
Je vous invite à commenter le ticket.
Répondre à ce message
Bonjour,
J’ai fais les deux ajouts (appel dans mes_options.php & la fonction dans squelettes/mes_fonctions.php) mais la fameuse fonction n’est pas appelée..
J’ai mal lu et oublié quelque-chose ?
Le plugin est bien installé, j’ai testé avec l’ancienne méthode et les champs sont bien ajoutés à la suite des autres.
Merci :)
Salut,
Oui, ça devrait fonctionner.
- Penser à bien vider les caches de spip
- Vérifier que les chemins des fichiers sont ok :
Tu devrais nous coller le contenu *ET* le chemin de tes 2 fichiers
Cordialement.
Merci pour la réponse express !
Effectivement ça venait du cache, c’est étrange sachant que j’ai define(’_NO_CACHE’, -1) ; dans ma config..
Bonne journée et merci pour le plugin :)
Oui, il s’agit du cache des squelettes.
Pour les fonctions/options/pipelines il y a des fichiers de cache générés et gérés un peu différemment :
tmp/charger_pipelines.php
tmp/charger_plugins_fonctions.php
...
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 : |