Ajout d’un avatar aux visiteurs

Ceci est une ARCHIVE, peut-être périmée. Vérifiez bien les compatibilités !

Avec des forums sur abonnement, cette page permet aux visiteurs de se doter d’un avatar.

objet de la contrib

Réaliser une première brique vers un véritable espace privé dédié aux visiteurs enregistrés.

Voici donc une première fonction : L’avatar.

L’Avatar

Pour ce qui est des rédacteurs et des admins, il n’y a pas grand chose à faire, le LOGO des auteurs est là pour ça.

Pour les visiteurs, j’ai le choix :
-  Soit je leur permets d’uploader leur avatar et d’utiliser le LOGO des visiteurs (également défini dans l’espace privé pour les visiteurs, il suffit d’en adapter le code), mais si ils sont nombreux, je vais vite me retrouver avec un tas d’images qui vont encombrer mon hébergement.
-  Soit, comme cela se fait souvent, je ne leur permets que de proposer l’URL de leur avatar, qu’ils auront préalablement stocké ailleurs.

J’ai choisi cette deuxième option. Mais Spip ne permet pas ça de façon “native”. Alors comment faire ? Et bien, “simplement” en utilisant les champs extra.

Voici la structure des champs extra dont on a besoin (à recopier dans votre fichier ecrire/mes_options.php3 si ce fichier existe chez vous, sinon créer ce fichier à partir du code ci-dessous) :

<?php
$GLOBALS['champs_extra'] = Array (
'auteurs' => Array (
		"avatar" =>"ligne|propre|Entrer l'URL de votre avatar"
	        )
	);

$GLOBALS['champs_extra_proposes'] = Array (
'auteurs' => Array (
		'tous' => '',
		'6forum' => 'avatar'
                )
);
?>

En quelques mots : la variable globale ’champs_extra’ est un tableau de tableaux. Chacun des tableaux internes concerne un élement de Spip (auteurs, articles, rubriques...). Ils définissent les propriétés que l’on veut ajouter dans l’élément de Spip.

En l’espèce, ici, on veut ajouter une catégorie ’avatar’ à l’élément ’auteurs’ de Spip. La partie ’ligne|propre|Avatar’ définit la catégorie :
-  ligne : c’est la méthode de saisie de la catégorie. Cela veut dire ici que le formulaire (où ensuite on viendra entrer l’URL de l’avatar) est une ligne (un INPUT de type ’text’ dans les forumulaires. Cela peut être un menu déroulant etc...
-  propre est la façon d’afficher la saisie (encore un peu obscur pour moi, c’est probablement lié aux filtres de Spip).
-  Entrer l’URL de votre avatar est le titre de la catégorie. Il sera affiché avant le champ de saisie.

Voici un exemple du résultat que cela peut donner :

Champ de saisie de l’avatar
Champ permettant d’entrer l’URL de l’avatar

Voilà pour les champs_extra. Mais vous remarquerez qu’il y a une seconde définition de variable globale : champs_extra_proposes. Cette variable permet de régler un peu plus finement l’attribut de la catégorie avatar aux différents types d’auteurs. Le sous tableau auteurs possède deux élément :
-  tous=>’’ : Tous concerne tous les type d’auteurs (administrateur, rédacteur et visiteur). On attribue donc rien à tout le monde... Celà permet de ne pas attribuer la catégorie avatar aux admins et aux rédacteurs (qui ont pour eux la rubrique LOGO, je le rapelle).
-  ’6forum’=>’avatar’ : c’est là que l’on attribue la catégorie ’avatar’ au visiteur du site (nom de code pour Spip : 6forum)

ATTENTION : Si vous avez déjà des champs extra pour les auteurs, faites en sorte que vos définitions restent compatibles avec celles-ci. En particulier, dans champs_extra_proposes la ligne ’6forum’ REMPLACE l’ordre de ’tous’ et ne vient pas s’ajouter à lui (comme je le pensais dans un premier temps).

Un exemple, admettons que vous ayez déjà défini un champ ’image_de_mon chat’ pour les auteurs pour un site dédié aux minous. Vous voulez attribuer cet extra à tous les auteurs, donc vous faites un ’tous’=>’image_de_mon_chat’. Si la deuxième ligne est simplement ’6forum’=>’avatar’, le visiteur abonné au forum (6forum) va perdre l’extra ’image_de_mon_chat’ ! Pour que le visiteur puisse avoir les deux extras, il faut la ligne : ’6forum’=>’image_de_mon_chat|avatar’.

De façon générale, si vous commencez à jouer avec les réglages fins des extra, faites attention de bien attribuer tous les extras à chacune des catégories que vous voulez (en les séparant de la barre verticale |)

Au total, nous avons, dans champs_extra, créé une nouvelle catégorie nommé ’avatar’, et nous ne l’avons attribué qu’aux visiteurs dans la variable champs_extra_proposes.

Voilà, la création de la catégorie est finie, reste à la remplir. La page profile est là pour ça. C’est l’objet de l’article suivant

Origine de la contrib

J’ai en projet un site dédié aux jeux vidéos (quelle originalité hein ?). Tout est en Spip mais le visiteur de ce genre de site s’attend souvent à un forum phpBB ou équivalent avec tout ce qui va avec.

En particulier, la possibilité pour les visiteurs de pouvoir s’incarner dans un AVATAR est essentielle (ça et les signatures énormes avec plein de choses qui clignotent mais je ne crois pas qu’ils vont l’avoir).

Mais pour pouvoir leur proposer ça, il faut qu’ils puissent entrer dans un système de profil, commun dans les solutions de forum clef en main genre phpBB. J’ai longtemps hésité à intégrer des forums extérieurs à Spip (genre fogforum ou prétextes par exemple) mais le double challenge de comprendre à la fois les codes derrière Spip et derrière le forum choisi (sans parler de les faire fonctionner de paire) me faisait hésiter.

J’ai donc profité du joli boulot de James et BoOz (et des autres contributeurs) pour décider d’ajouter plutôt les fonctions dont j’avais besoin aux forums Spip.

Discussion

2 discussions

  • 1

    C’est quoi un avatar ? Une courte explication serait bienvenue, avant de se payer toute la contrib pour essayer de comprendre...

    Répondre à ce message

  • 1

    Pourtant, la signature peut tout à fait être gérée via un extra signature.

    La question, c’est comment font les visiteurs pour changer leur signature (et leur avatar) ?

    • Exact pour la signature... Disons que, comme je trouve que les signatures nuisent à la lisibilité des forums, je préfère ne pas en mettre ;)

      Pour ce qui est de la modification de la signature et de l’avatar, si je ne me trompe pas, c’est l’objet de l’article suivant, ici

    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 :

  • 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