Icône Forum
Gregoryen 11 févr. 2015
Bonjour,
Savez vous si on peux mettre une icône pour chaque forum ?
J'ai mis une étoile mais j'aimerais que chaque forum ai son icône.
http://image.noelsha...eenshot-222.png
Merci. :-)
noisette 11 févr. 2015
Bonjour,
ça se passe dans le fichier boardIndexTemplate,
il faut rechercher cette expression:
<td class='col_c_icon'> <if test="hasUnread:|:$forum_data['_has_unread']"> <a id='forum_img_{$forum_data['id']}' href="{parse url="app=forums&module=forums&section=markasread&marktype=forum&forumid={$forum_data['id']}&returntoforumid={$this->request['f']}&i=1" base="public"}" data-tooltip="{$this->lang->words['bi_markread']}" class='forum_marker'> <img src='{$this->settings['img_url']}/f_icon.png' /> </a> <else /> <img src='{$this->settings['img_url']}/f_icon_read.png' /> </if> </td>
On peut envisager les choses de différentes façons.
Veux-tu juste un code ou veux-tu piger ce que tu vas faire absolument ?
noisette 11 févr. 2015
Ok.
Tu connais un peu le HTML, ce qu'on appelle une balise ?
Si tu regardes le code,
tu remarques que tout est encadré par une balise "td": td pour ouvrir, /td pour fermer, entre deux chevrons que je ne mets pas ici.
Cette balise td représente la cellule qui contient l'image.
Elle contient ensuite : if ... else ... /if. C'est une boucle.
if => si il y a des sujets non lus => un lien (balise a) qui contient une image fixée: f_icon.png
else => sinon => une image autre fixée: f_icon_read.png
/if: fin de la boucle.
C'est sur ces images que nous allons jouer.
Est-ce que pour l'instant tu me suis ?
Gregoryen 11 févr. 2015
Franchement c'est gentil de prendre le temps de m'aider et de m'expliquer en même temps ! :-)
Oui pour l'instant c'est clair
noisette 11 févr. 2015
Ok
Alors on va donc viser à modifier le nom des 2 images appelées. Il faut que ces noms contiennent un paramètre qui dépend du forum, et qui va donc permettre d'aller chercher des images différentes selon les forums.
Pour cela, je propose d'utiliser un paramètre situé un peu en amont dans le code: category_{$_data['cat_data']['id']}
On peut même retreindre à {$_data['cat_data']['id']}, car category_ est fixe, donc inutile.
Ce paramètre va renvoyer un numéro: celui de la catégorie du forum concerné.
On va donc avoir:
un code modifié pour les noms des 2 images
la liste des numéros de catégories utilisées sur ton forum
les images convenablement nommées et placées sur le ftp.
Typiquement, mais la syntaxe va être à tester, car j'improvise:
<img src='{$this->settings['img_url']}/f_icon.png' /> (c'est l'original) est censé donner: <img src='http://patatipatata/f_icon.png' />
alors que
<img src='{$this->settings['img_url']}/f_icon_{$_data['cat_data']['id']}.png' /> est censé donner: <img src='http://patatipatata/f_icon_3.png' /> pour la catégorie 3.
Tu me suis toujours ?
Gregoryen 11 févr. 2015
La je commence à m'embrouiller car j'avoue que dans mon cerveau c'est un peu vide.
Je commence a comprendre en relisant, en fait on les met a la suite, en mettant le numéro 1 pour le premier forum , etc etc..
Comment il reconnait de quel forum il s'agit ?
noisette 11 févr. 2015
Le numéro de catégorie va être attribué par ipb, et tu vas les avoir dans n'importe quel ordre. Peu importe, ce qui compte c'est de les récupérer.
Le plus simple, c'est d'aller sur l'accueil de ton forum, clic droit, afficher le code source, et là, tu recherches les occurrences (CTRL+F) de:
id="category_
tu les aura les uns après les autres.
Gregoryen 11 févr. 2015
Super, je vais regrouper les numéro, j'ai trouvé, par contre dans mes catégories, j'ai 2-3 forums, j'ai envie d'avoir une image pour chaque forum, par pour toute la catégorie, c'est possible ? Merci
Donc en partant de haut en bas mes catégories :
Catégorie 1 : n°4
Catégorie 2 : n°8
Catégorie 3 : n°10
Catégorie 4 : n°14
Catégorie 5 : n°25
Catégorie 6 : n°24
Catégorie 7 : n°18
noisette 11 févr. 2015
Oui, c'est possible, en utilisant le paramètre {$forum_data['id']}
Tu trouves les occurrences en recherchant:
index.php?showforum=
On aurait alors un truc du genre:
<img src='{$this->settings['img_url']}/f_icon_{$forum_data['id']}.png' /> est censé donner: <img src='http://patatipatata/f_icon_35.png' /> pour le forum 35.
Gregoryen 11 févr. 2015
Je ne trouves pas index.php?showforum=
J'ai essayé avec showforum mais non plus :s
noisette 11 févr. 2015
Il faut le chercher dans le code source (clic droit afficher le code source) de l'index de ton forum, là où tu veux changer les images.
Ça doit y être .
Sinon, si tu veux, copie moi le code de ton index (clic droit afficher le code source).
noisette 11 févr. 2015
Dans ton thème, tu généres plutôt cela:
index.php?/forum/13 pour le forum 13
noisette 11 févr. 2015
sais-tu trouver où se trouve les images f_icon.png et f_icon_read.png ?
(clic droit sur l'image, Afficher l'image, regarde ensuite l'url dans la barre d'adresse ton navigateur).
Dans ce cas, prépare les remplaçantes, en les nommant f_icon-18.png et f_icon_read-18.png pour les icônes allant avec le forum 18.
Upload-les sur ton FTP, aux côtés des originales.
Ensuite, remplace
<img src='{$this->settings['img_url']}/f_icon.png' />
par
<img src='{$this->settings['img_url']}/f_icon_{$forum_data['id']}.png' />
et teste.
Si ça fonctionne, fais pareil avec la version "_read",
sinon, on verra où ça coince.
Gregoryen 11 févr. 2015
Oui pour le dossier et les images je sait faire.
Mais en fait je remplace pas, j'en crée un autre avec le numéro du forum pour le :
<img src='{$this->settings['img_url']}/f_icon.png' />
?
merci de ton aide
noisette 11 févr. 2015
Oui:
Imaginons le forum numéro 18:
tu créés une image f_icon-18.png, et tu la mets dans le même répertoire que f_icon.png sur ton FTP.
Ensuite, dans boardIndexTemplate,
tu cherches et remplaces
<img src='{$this->settings['img_url']}/f_icon.png' />
par
<img src='{$this->settings['img_url']}/f_icon_{$forum_data['id']}.png' />
et pour plus de simplicité pour les tests,
tu fais pareil avec la version "_read" (image +code)
Tu vas sur ton forum,
toutes les icônes devraient avoir disparues sauf la numéro 18.
Gregoryen 11 févr. 2015
donc j'ai mis une icone que j'ai nommé 10.png
et j'ai remplacé ce que tu ma dis, j'ai mis 10 a la place de ID.
J'ai un forum ou j'ai une image en point d'interrogation
EDIT:
Je la renome en f_icon-10.png et jte dis
Ce message a été modifié par Gregoryen - 11 février 2015 - 21:58 .
Gregoryen 11 févr. 2015
Bon je recap :
j'ai mis une icone je l'ai nommé : f_icon_18.png
dans la ligne remplacé j'ai mis :
<img src='{$this->settings['f_icon_18.png']}/f_icon_{$forum_data['18']}.png' />
Ca me met une icone avec un " ? ".
J'ai pas fait le else, puisque le else a sont image.
Si tu veux on regarde ça demain, la je m'embrouille ça me prend la tete, je vais tester et regarder tranquillement ce soir et on reprend demain.
Merci de ton aide en tout cas
noisette 11 févr. 2015
non, ne touche pas à l'ID
Mets directement <img src='{$this->settings['img_url']}/f_icon_{$forum_data['id']}.png' />.
Ceci dit, même avec 18 à la place de id, ça devrait afficher l'image.
Or, je viens de vérifier de mon côté, sur un thème de test d'infomars, l'url de l'image est bien formée.
Donc ça coince pour une broutille:
vérifier le nom de l'image
vérifier aussi et surtout son emplacement sur le FTP
edit:
Stop:
au temps pour moi: attention donc,
avec les - et les _
soit les deux avec -, soit les deux avec _:
<img src='{$this->settings['img_url']}/f_icon_{$forum_data['id']}.png' /> et f_icon_10.png
ou bien
<img src='{$this->settings['img_url']}/f_icon-{$forum_data['id']}.png' /> et f_icon-10.png
Gregoryen 11 févr. 2015
D'accord, merci.
Mon image est dans le /www/public/style_images/gta
Gta c'est moi qui l'ai crée ( une copie de master ).
Je vais regarder ça
EDIT:
Ok je modifie a la suite de ton edit
Ce message a été modifié par Gregoryen - 11 février 2015 - 22:31 .
Gregoryen 11 févr. 2015
Mon icone dans mon ftp s'appelle " f_icon_10.png "
Par contre la ligne qu'on a mise : "
<img src='{$this->settings['img_url']}/f_icon_{$forum_data['id']}.png' />
Comment il reconnais quel forum c'est, et qu'elle image lui donner ?
Faut remplacer im_url ?
noisette 11 févr. 2015
Non non, faut rien modifier à ce code.
Chaque forum a son id, appelé par {$forum_data['id']}
et le foreach (plus haut dans le code) va s'occuper du reste.
Gregoryen 11 févr. 2015
Je vois je commence à comprendre en fait.
Soit le code ne sait pas ou est quel dossier de l'image, soit heuu mince j'ai oublier ce que je voulais dire lol.
Ah oui, soit c'est que mes forum on un numéro aléatoire par exemple: le forum 1 = 56
noisette 11 févr. 2015
oui, c'est pour ça qu'il faut, en parallèle, aller regarder dans le code de ton index (clic droit / afficher la source) quels sont leur numéro (id) à chacun
(tu le trouves avec index.php?/forum/13-etcetcetc pour le forum 13, fais une recherche avec index.php?/forum/)
Par exemple: 4, puis 13, puis 8, puis 7 etc.
Gregoryen 11 févr. 2015
Merci
Bonne nuit ^^
Ce message a été modifié par Gregoryen - 11 février 2015 - 23:04 .
Gregoryen 12 févr. 2015
Bon j'ai tout compris et réussis !
Pour tester j'ai copier mon image 40 fois, et avec Automator sur mac je l'ai ais renommés f_icon_ et il m'a mis automatiquement le numéro, 1.,2,3 .....
j'ai mis sur mon ftp. Et petit à petit j'ai éliminé les images et j'ai actualisé le forum.
J'ai pu identifié quelles était les ID de chaque image !
En tout cas merci beaucoup de ton aide jusqu'à très tard ! Trop content ^^J'ai un beau forum personnalisé. ( Bon j'avoue j'ai pas encore fini hihi ^^)