Comment fixer un post en tete de liste dans mes forums ?

Comment fixer un post en tete de liste dans mes forums ? - Programmation

Marsh Posté le 04-09-2002 à 14:53:18    

Salut,
 
G un forum web agora 4.0, et je veux pour chaque section du forum pouvoir placer un topic en tete de liste, et qu'il reste bien sur malgre les posts qui suivent ...
 
Le forum ne propose pas cette option : commen faut-il faire ?
 
 
IAn

Reply

Marsh Posté le 04-09-2002 à 14:53:18   

Reply

Marsh Posté le 04-09-2002 à 14:58:15    

Tu peux modifier les sources ? :/


---------------
Envie d'un bol d'air ? Traxxas Revo 3.3
Reply

Marsh Posté le 04-09-2002 à 14:59:23    

Ben oui, y pas de raison ...

Reply

Marsh Posté le 04-09-2002 à 15:01:11    

Reply

Marsh Posté le 04-09-2002 à 15:02:24    

Merci de ton aide Max, je vais voir si j'y arrive ...
 
Ian

Reply

Marsh Posté le 04-09-2002 à 15:02:58    

IanCurtis a écrit a écrit :

Merci de ton aide Max, je vais voir si j'y arrive ...
 
Ian




 
;)


---------------
Envie d'un bol d'air ? Traxxas Revo 3.3
Reply

Marsh Posté le 04-09-2002 à 16:08:02    

Max, la je suis devant ma page phpmyadmin (chez free), j'ai choisi une ligne du tableau de la base (= un de mes forums), et g fait "inserer" ...
 
C bien par la qu'il faut aller ? Que faire apres ?
Ian

Reply

Marsh Posté le 04-09-2002 à 16:11:04    

Je suis con, la j'insere un message et pas une colonne ...

Reply

Marsh Posté le 04-09-2002 à 16:30:13    

Ok g insere la colonne "STICKY" mais qu'est ce que je met en:
Type Attributs Null Défaut Extra    ?
 
Ou est-ce que je fais order ?

Reply

Marsh Posté le 04-09-2002 à 16:36:35    

IanCurtis a écrit a écrit :

Ok g insere la colonne "STICKY" mais qu'est ce que je met en:
Type Attributs Null Défaut Extra    ?
 
Ou est-ce que je fais order ?



nom sticky,
type tinyint (ca sera assez grand comme ça)
taille, tu le laisse à vide
attribut unsigned (ca te permettra d'avoir 2 fois plus de niveau sans utiliser des nombres négatif)
null soit tu met not null, soit tu met null mais avec une valeur par défaut
défaut, tu mets la valeur que prendra par défaut cette colone quand un nouvel enregistrement sera créé. C'est utile pour ne pas avoir besoin de modifier desuite les requêtes d'insertion de donnée
extra, t'y touche pas.
tu coche index pour accélérer un tout petit peu le classement des messages dans le forum
primaire, unique et texte entier, je te conseilles de les garder décoché.

Reply

Marsh Posté le 04-09-2002 à 16:36:35   

Reply

Marsh Posté le 04-09-2002 à 16:44:19    

Merci j'essaie et je te dis quoi :-)
 
Ian

Reply

Marsh Posté le 04-09-2002 à 16:52:03    

Bon , j'ai inserer la colonne avec les valeurs que tu m'as donné
 
Tous les messages du forum ont donc la valeur sticky=0, sauf un ancien message auquel g attribue la valeur 1
Dans le tableau index, je retrouve bien sticky ... Mais le msg n'est toujours pas remonte, meme apres avoir rafraichi :-(

Reply

Marsh Posté le 04-09-2002 à 16:56:51    

IanCurtis a écrit a écrit :

Bon , j'ai inserer la colonne avec les valeurs que tu m'as donné
 
Tous les messages du forum ont donc la valeur sticky=0, sauf un ancien message auquel g attribue la valeur 1
Dans le tableau index, je retrouve bien sticky ... Mais le msg n'est toujours pas remonte, meme apres avoir rafraichi :-(



T'as modifié dans les sources du forum la requête qui va chercher la liste des dernières discutions?
Sans ça, il saura pas qu'il doit faire un tri sur sticky en majeur et sur la date en mineur.

Reply

Marsh Posté le 04-09-2002 à 17:00:02    

Ok, il manque la requete ;-)
 
Je debute en php ... Faut donc que je trouve le fichier php qui contient la requete d'affichage ... ou il y a moyen de le faire dans phpmyadmin ?
 
Ian

Reply

Marsh Posté le 04-09-2002 à 17:09:17    

IanCurtis a écrit a écrit :

Ok, il manque la requete ;-)
 
Je debute en php ... Faut donc que je trouve le fichier php qui contient la requete d'affichage ... ou il y a moyen de le faire dans phpmyadmin ?
 
Ian



Là, c'est au niveaux des fichiers que ca se passe. ;)
Je conais pas "web agora" alors je peux pas t'indiquer a quel endroit chercher la requête en question.
Si ce forum n'est pas fait comme un ensemble de module, tu peux regarder le nom du fichier indiqué dans l'adresse de ton navigateur pour savoir quel est celui qui utilise la requête que t'as à modifier.
Ensuite, il faudra que tu analyses le fichier en question pour y trouver la bonne requête. (cherche les mots "SELECT" et include pour trouver plus vite les requêtes et les noms des fichiers inclus et donc peut être à vérifier)

Reply

Marsh Posté le 04-09-2002 à 17:15:59    

je cherche, mais je suis pas rendu !
 
l'url vers le forum est du type "/index.php3?bn=divers"
 

Reply

Marsh Posté le 04-09-2002 à 17:29:16    

Hou là, ca sent l'utilisation d'un système de module (toujours la même page qu'est appeller par le navigateur quelque soit la partie demandé et on fait la diférence grace à une variable).
 
Bon, là, visiblement, il faut que tu cherches a quel endroit la variable $bn est utilisé et ensuite essayer de voir quelles sont les requêtes et les fichier inclus par la partie du code quis era exécuter.

Reply

Marsh Posté le 04-09-2002 à 17:35:08    

g trouvre des modules qui enumerent cela :
 
# Set core variables (managed by w-agora)
# ---------------------------------------
 if (isset($bn_var)) {
  unset ($bn_var);
 }
 
 $bn_var = array (
  "unixdate",  // timestamp (creation date)
  "userid",  // user ID
  "mod_date",  // modification date
  "mod_userid", // userid of modifier
  "password",  // MD5 encoded password
  "filename",  // name of HTML note
  "attachment", // attachment file name ("none" if none)
  "att_type",  // attachment mime-type
  "att_size",  // attachment file size
  "mail_reply", // set to "1" if replies to this note must be sent by email
  "hidden",  // set to 1 if note must be approved by the moderator
  "hits",   // hits count  
  "closed",  // closed thread (RFU)
  "ip"   // logged IP address of sender
 
Ce qui faudrait c que je sache de quelle maniere est demandee l'affichage des posts par date de creation (apparemment c la variable "unixdate"...

Reply

Marsh Posté le 04-09-2002 à 17:37:15    

J'ai pas tous lu, mais si c'est tiré par date, tu modifie la date de ton topic et tu le met en l'an 3000 comme sa il seras toujours en haut :D

Reply

Marsh Posté le 04-09-2002 à 17:42:29    

bozocarzu a écrit a écrit :

J'ai pas tous lu, mais si c'est tiré par date, tu modifie la date de ton topic et tu le met en l'an 3000 comme sa il seras toujours en haut :D



C'est la méthode bourin ça. ;)
Si on arrivait à mettre en place une méthode plus douce, ca sera mieux et comme ça, il perdra pas l'info date.
De plus, si c'est classé en fonction de la date de dernière réponse, la date que t'auras forcé à l'an 3000 sera remplacé par la date courante dès qu'une autre réponse aura été posté. ;)

Reply

Marsh Posté le 04-09-2002 à 17:44:44    

IanCurtis a écrit a écrit :

g trouvre des modules qui enumerent cela :
 
# Set core variables (managed by w-agora)
# ---------------------------------------
 if (isset($bn_var)) {
  unset ($bn_var);
 }
 
 $bn_var = array (
  "unixdate",  // timestamp (creation date)
  "userid",  // user ID
  "mod_date",  // modification date
  "mod_userid", // userid of modifier
  "password",  // MD5 encoded password
  "filename",  // name of HTML note
  "attachment", // attachment file name ("none" if none)
  "att_type",  // attachment mime-type
  "att_size",  // attachment file size
  "mail_reply", // set to "1" if replies to this note must be sent by email
  "hidden",  // set to 1 if note must be approved by the moderator
  "hits",   // hits count  
  "closed",  // closed thread (RFU)
  "ip"   // logged IP address of sender
 
Ce qui faudrait c que je sache de quelle maniere est demandee l'affichage des posts par date de creation (apparemment c la variable "unixdate"...
 



Je penses pas que ca soit ça.
Il y a une autre façon d'accéder à la valeur de cette variable mais je me rappelles plus exactement le nom de la variable qui est alors employé.
Essays de trouver les chaines [bn] , ['bn'] et ["bn"] pour voir si c'est pas comme ça qu'ils s'en servent.

Reply

Marsh Posté le 04-09-2002 à 17:58:12    

Au fait, c'est où que tu l'as trouvé ce forum là?

Reply

Marsh Posté le 04-09-2002 à 19:25:10    

c bien ces chaines la qui sont utilisees.
 
Je sais plus ou g trouve le forum, mais c'etait sur un site php français ...

Reply

Marsh Posté le 04-09-2002 à 21:03:37    

Y a p'tete moyen de configurer le forum pour maintenir un post en haut de la liste : dans la partie admin il y a ces options :
 
Global listing formats:  
Default order (in no-threaded mode):    
Max # of threads per page  
Padding pattern:    
Thread depth limit    
Hot Topic Threshold    
Newest messages: Use color:   for messages newer than  hours  
New messages: Use color:   for messages newer than  hours  
For older messages: Use color:    
Before line script  
 
 
Si vous avez un lien pour la doc de W-agora ... Ca m'interesse !!
 
Ian

Reply

Marsh Posté le 04-09-2002 à 21:39:44    


 
J'ai trouve des liens :
 
Site officiel W-Agora
http://www.w-agora.net/
 
La doc en français :
http://www.w-agora.net/current/ind [...] upport_doc
 

Reply

Marsh Posté le 04-09-2002 à 21:53:14    

Bon, g trouve la partie dans l'interface du forum qui permet d'inserer : order by sticky asc, mod_date desc
 
Probleme : de cette maniere, les post sujet ET reponses, ne sont pas lies par le fil de discussion ...
 
EX ça donne :
 
sujet initial
re : 1
re : 2 etc .
 
 
Et je veux
sujet initial1
               - - - -re : 1
               - - - -re : 2 etc .
 
sujet initial2
               - - - -re : 1
               - - - -re : 2 etc .
 Comment faire ??
 
IAn
 

Reply

Marsh Posté le 05-09-2002 à 02:00:04    

Bon, ce soir, j'ai téléchargé ton forum pour jeté un oeuil sur le code.
Visiblement, tout les messages que ca soit le lancement d'un topic ou les réponses se trouvent dans la même table. Il te faut donc affecté la valeur de sticky également aux réponses.
Par contre je sais pas quel est le meileur endroit pour affecter cette valeur ;)

Reply

Marsh Posté le 05-09-2002 à 07:25:04    

c TRES SYMPA DE TA PART !
 
Je relance le topic ce soir ...
 
A +
Ian

Reply

Marsh Posté le 05-09-2002 à 17:49:42    

up plz

Reply

Marsh Posté le 05-09-2002 à 19:38:33    

Si qqn peut m'aider, je suis en ligne jusque 23h00
 
IAn

Reply

Marsh Posté le 05-09-2002 à 19:52:57    

BOn, apparemment je suis pas le seul a vouloir faire des sticky posts sur W-agora, mais le createur lui-meme avoue que cette focntion n'est pas encore implementee ...
 
http://www.w-agora.net/current/vie [...] 1015956103
"> Hello,
>  
> My name is Alex. I wan to hire you if I get Agora. I just have two questions that I need answered to help me decide.
Please, if you have time, can you?
>  
> The first is about sticky posts. Can Admin make a post that always stays on top of a forum?
No, this feature is not currently implemented, but it is on the TODO
list.
 
>  
> The second is about deleting:
>  
> Can admin delete an individual post within a thread?
Yes, the admin (or moderator) can delete individual posts within a thread.
 
Thank you for your interest
 
Marc Druilhe."
 
Bien gentil le marco, mais on pourrait pas lui donner un coup de pouce ??
 
Ian

Reply

Marsh Posté le 05-09-2002 à 21:20:32    

Methode bourrin 2 :
 
Il doit bien y arrive id diferent par topic ?
 
Tu fais une premeiere requete SQL on tu selection le topic a mettre en haut avec son id puis tu fais une autre requete pour afficher les autre !! (Faus faire attention a virer le topic deja afficher !)

Reply

Marsh Posté le 05-09-2002 à 21:30:49    

Y a bien un champ "cle"; mais faire la requete, c pas a ma portee ...
 
Merci de m'aider bozocarzu !
 
Ian

Reply

Marsh Posté le 06-09-2002 à 10:26:07    

bozocarzu a écrit a écrit :

Methode bourrin 2 :
 
Il doit bien y arrive id diferent par topic ?
 
Tu fais une premeiere requete SQL on tu selection le topic a mettre en haut avec son id puis tu fais une autre requete pour afficher les autre !! (Faus faire attention a virer le topic deja afficher !)



Pour moi, le principal problème de ce forum, c'est qu'il est fait de la manière la plus abstraite possible.
Quand j'ai regardé le code, il m'a falut beaucoup plus de temps à comprendre comment était formé les requêtes que ce que j'aurais imaginé.
Même en ayant passé une soiré sur son code, j'ai pas réussi à trouver où étaient affecté les valeurs qui sont utilisé ensuite pour former la requête qui sera envoyé à la base.
Ce forum marche , c'est indéniable mais il m'a pas l'air des plus lisible et son code mériterait un gros fichier d'aide sur comment ca marche. (pourtant le code est bien documenté mais son déroulement est très obcur quand on métrise pas les languages objets depuis longtemps).

Reply

Marsh Posté le 06-09-2002 à 11:04:55    

tu crée ton sticky
tu cherche la table des intitules de post
tu repere l'enr qui contient ton sticky
tu bidouille au niveau des dates (genre tu lui colle 01/01/2100) pour faire croire aux scripts qu'il est le dernier à avoir été modifié .
 
:/ c'est juste une idée... conné rien

Reply

Marsh Posté le 06-09-2002 à 22:13:39    

Salut
 
"tu bidouille au niveau des dates (genre tu lui colle 01/01/2100) pour faire croire aux scripts qu'il est le dernier à avoir été modifié"
 
C des dates Unix : pas si simple.
 
SI personne saisit le code, je risque pas de trouver !!!

Reply

Marsh Posté le 08-09-2002 à 12:57:39    

UP plz

Reply

Marsh Posté le 08-09-2002 à 21:20:54    

up

Reply

Marsh Posté le 09-09-2002 à 16:51:36    

Dernier up ...

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed