MyBB.support, le portail francophone de MyBB

Version complète : Templates des messages
Vous consultez actuellement la version basse qualité d’un document. Voir la version complète avec le bon formatage.
Salut !

J'aimerai faire un truc assez complexe au niveau du template du topic (je sais pas le quel c'est :s)
J'aimerai que le profil de l'auteur du topic soit positioner à droite de son message et à chaque fois qu'il poste un message sur son topic il se retrouve à droite encore, et ceux qui répondent on positionne leurs profils à gauche.

Si personne ne peut me répondre à ce que je viens de demander j'aimerai au moins déplacer le profil pour le mettre à gauche. Mais pas au dessus. (Ni en dessous d'ailleurs ^^ Big Grin)

posbit ou posbit_classic
un peu trop vide comme réponse...
Ce que j'attend aussi c'est les étapes... :l
Panneau d'Administration -> Configuration -> Options d'affichage du sujet :
Citation :Disposition du message
Vous permet de basculer entre l'affichage classique et les nouveaux modes de disposition horizontale. Le mode classique affiche les informations sur l'auteur à la gauche du message, le mode horizontal affiche les informations sur l'auteur au-dessus du message.
Afficher les messages en utilisant la disposition horizontale
Afficher les messages en utilisant la disposition classique
Euh ça marche pas : http://www.gameplay.comule.com/forum/showthread.php?tid=2
Moi je vois comme d'habitude alors que j'ai mis l'option 1.
Il faut rechercher un peu, ce sujet a éré abordé à maintes reprises !!!
Par exemple ici :
http://mybb.fr/thread-792.html

Et même déjà en 2008 !!! Shy
http://mybb.fr/thread-1220.html

L'option du panneau de configuration utilisateur prévaut sur celle réglée dans l'admin.
En d'autres termes, tu peux mettre ce que tu veux dans l'admin, c'est le membre qui gère son type d’affichage.

Si tu veux imposer cet affichage à tout le mode (comportement peu élégant et arbitraire !), il faut agir su la BD (voir ce post : http://www.mybb.fr/thread-1220-post-7490.html#pid7490)

Plusieurs liens à propos de l'affichage horizontal/classique dans ce post :
http://mybb.fr/thread-4757-post-26760.html#pid26760
(27-10-2011, 16:49)spyto a écrit : [ -> ]Il faut rechercher un peu, ce sujet a éré abordé à maintes reprises !!!
Par exemple ici :
http://mybb.fr/thread-792.html

Et même déjà en 2008 !!! Shy
http://mybb.fr/thread-1220.html

L'option du panneau de configuration utilisateur prévaut sur celle réglée dans l'admin.
En d'autres termes, tu peux mettre ce que tu veux dans l'admin, c'est le membre qui gère son type d’affichage.

Si tu veux imposer cet affichage à tout le mode (comportement peu élégant et arbitraire !), il faut agir su la BD (voir ce post : http://www.mybb.fr/thread-1220-post-7490.html#pid7490)

Plusieurs liens à propos de l'affichage horizontal/classique dans ce post :
http://mybb.fr/thread-4757-post-26760.html#pid26760

Sauf se qu'il demande est plus complex :


Citation :J'aimerai que le profil de l'auteur du topic soit positioner à droite de son message et à chaque fois qu'il poste un message sur son topic il se retrouve à droite encore, et ceux qui répondent on positionne leurs profils à gauche.

il faut modifiée les templates pour ceci
En gros, les profils à gauche, sauf celui de l'auteur de la discussion qui doit être à droite.

Je vois à peu près comment ça peut se faire avec le plugin qui permet d'utiliser du PHP dans les templates, mais il faudrait que j'essaie d'abord...
Spyto -> lilirageuse à raison mais la configuration simple est déjà un pas...

Saphir -> On verra bien ce que ça donnera Smile
Hum en fait je vois comment faire mais je ne sais pas comment récupérer l'auteur original de la discussion :s
Ah peut-être que Spyto sait faire ?
UP :s
(28-10-2011, 12:44)Saphir a écrit : [ -> ]Hum en fait je vois comment faire mais je ne sais pas comment récupérer l'auteur original de la discussion :s

<?php echo $row['lastposter']; ?>
"Shapir a écrit :Hum en fait je vois comment faire mais je ne sais pas comment récupérer l'auteur original de la discussion :s

Code :
    <td class="trow1 {$unapproved_shade}">
                <table cellspacing="0" cellpadding="0" border="0" style="width: 100%;">
                    <tr>
                        <td class="post_avatar" width="1" style="{$post['avatar_padding']}">
                            {$post['useravatar']}
                        </td>
                        <td class="post_author">
                            <strong><span class="largetext">{$post['profilelink']}</span></strong> {$post['onlinestatus']}<br />
                            <span class="smalltext">
                                {$post['usertitle']}<br />
                                {$post['userstars']}
                                {$post['groupimage']}
                            </span>
                        </td>
                        <td class="smalltext post_author_info" width="165">
                            {$post['user_details']}
                        </td>

<td class="post_author">
<strong><span class="largetext">{$post['profilelink']}</span></strong> {$post['onlinestatus']}<br />
<span class="smalltext">
{$post['usertitle']}<br /> Ca pourrais être ça l'auteur non ?
{$post['userstars']} Ca c'est le rang
{$post['groupimage']} Et ça c'est son groupe
</span>
</td>
<?php echo $row['lastposter']; ?> = L'auteur du dernier message ? Je ne connais pas ça...
{$post['usertitle']} = Le titre de l'utilisateur...
{$post['userstars']} = Son nombre d'étoiles...
{$post['groupimage']} = L'image de son groupe.

Inutile de chercher là-dedans, je ne pense pas qu'elle soit déjà utilisée dans le template...

Et je m'appelle Saphir, pas Shapir ! :p
Avant d'utiliser un script PHP, on devrait pouvoir le faire en utilisant les sélecteurs CSS.
Voir pour appliquer la propriété first-child sur le premier post. Certes, ça va demander un peu de bidouillage.

http://www.w3.org/TR/CSS2/selector.html

Selon le code source que je vois ici, le premier post d'un sujet est la première balise <table> dans le div #posts.
On doit donc pouvoir faire quelque chose de ce type :

Code :
div#post:first-child table:first-child td.trow1{ /* ... */ }

Je ne suis pas habitué à la manipulation de MyBB, ainsi je préfère ne vous donner qu'une piste Smile
Il faudrait changer toute la structure du template : la position n'est pas définie en CSS, mais bien en HTML, c'est en gros un tableau de deux cellules, lesquelles doivent être inversées pour placer le profil à droite, ce qui à ma connaissance n'est pas faisable en CSS (mais peut-être me trompe-je).
D'où le fait qu'un petit bidouillage puisse s'avérer nécessaire.
L'utilisation d'un tableau pour l'affichage des informations utilisateur est plutôt inutile, il suffirait d'utiliser un div flottant.

Saphir a écrit :Il faudrait changer toute la structure du template

Question optimisation, je pense que c'est préférable à l'utilisation d'un script PHP.
Désolé Saphir ^^'
 Utilitaire de traduction fourni par Regentronique