Ajout d’un avatar aux visiteurs

All contributions published for previous SPIP versions

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 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.

updated on 16 June 2004

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...

    Reply to this 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

    Reply to this message

Comment on this article

Who are you?
  • [Log in]

To show your avatar with your message, register it first on gravatar.com (free et painless) and don’t forget to indicate your Email addresse here.

Enter your comment here

This form accepts SPIP shortcuts {{bold}} {italic} -*list [text->url] <quote> <code> and HTML code <q> <del> <ins>. To create paragraphs, just leave empty lines.

Add a document

Follow the comments: RSS 2.0 | Atom