robert papanicola a écrit :
Le 19/04/07, rburton<roger.burton@chello.be> a écrit :
Bonjour,
en demandant une inscription (statut visiteur) et en stockant ses
données "interface" dans un champ extra de la table auteur ?...
je n'ai encore jamais fait
mais quelles données stocker, et surtout comment les réutiliser,
actuellement les rubriques sont placées sans tri sur la page d'accueil
et par tiers
supposons que je mémorise une liste d'id_rubrique triée suivant
l''ordre imposée par l'internaute,
et tous le monde partage ce meme profil ?
c'est le derniere configuration enregistrée qui est resservie à tous les autres
Un peu bizarre...
il faut ensuite que j'affiche les
boucles rubriques suivant cet ordre, c'est à dire faire une boucle qui
pourraient s'écrire
<BOUCLE_rub(RUBRIQUES) {racine} {dans_lordre liste}>
ça, je ne sais pas faire et je crois que spip non plus
ou alors une autre idée?
Déja, pour ne pas bloquer sur le cache ou les multiplier, il faut passer par un javascript inseré dans affichage_final.
En cache et donc dans le squelette, tu ne t'occupe pas de l'ordre.
Tu appelles un javascript dynamique (squelette) dans affichage_final, en passant l'id_rubrique et l'id_auteur, qui réordonne en JQuery selon les preferences de l'utilisateur.
Pour stocker les preferences, le mieux, c'est d'etendre le plugin sortable pour envoyer ($.get sur une action spip) l'ordre d'affichage à chaque fois qu'il change.
Ce script doit aussi etre inserer par affichage_final pour les memes raisons : il faut passer l'id_auteur et tu ne peux pas te permettre d'avoir ca en cache.
si tu veux securiser le truc (mais c'est pas vraiment critique comme fonctionnalité...) il te faut generer l'appel avec generer_url_action avec ta propre methode (donc calculer avant le hash après avoir fait un caracteriser_auteur).
Il faut donc une action prenant juste l'id_auteur en argument et passer les position dans une ou plusieurs variables en get
dans ton action, tu enregistres dans une table par exemple id_auteur,id_rubrique,tableau serialisé des id des divs dans l'ordre.
Ce truc est dans ma todo depuis un moment, je vois bien comment faire (j'ai fait un systeme d'abonnement en 1.8.3 qui fait grossomodo pareil) mais je ne sais pas si j'aurai un jour le temps de m'y pencher....
bon courage
@++