Salut, ce composant fonctionne bien, mais comment les liens créés peuvent-ils avoir une classe active lorsqu’il s’agit de liens sur discourse (identique), mes éléments d’icône par défaut ont la classe active mais pas ceux du composant.
C’est un sujet quelque peu déroutant, car l’OP est mis à jour comme un wiki, mais la plupart des discussions font référence à une version du composant datant de plusieurs années.
Le sujet et l’OP suggèrent que cela prend en charge les icônes graphiques en plus des liens textuels. L’Object Settings Editor n’a cependant pas de champ pour définir une icône. J’ai essayé d’ajouter une icône SVG manuellement :
"icon": "https://foo.svg",
Le bouton graphique ne s’affiche pas - j’obtiens un bouton de lien textuel à la place, basé sur les autres paramètres du lien personnalisé. L’ancienne discussion entre ce post et l’OP suggère que je pourrais avoir besoin d’ajouter quelque chose quelque part pour activer l’icône SVG, mais quoi et où ?
Salut,
Fais-tu référence à ce composant de thème ?
Ce composant de thème Custom Header Links (icons) n’a pas de réglage d’objet.
Tu voudrais peut-être utiliser celui-ci si tu as besoin de liens d’en-tête avec prise en charge des icônes. ![]()
Notez que je viens de migrer ce composant vers nos nouveaux paramètres d’objet :
Il devrait maintenant être beaucoup plus facile de modifier les paramètres.
Salut, en essayant de mettre à jour le composant Custom Header Links, j’obtiens cette erreur : « Une erreur s’est produite : Vous avez fourni des paramètres invalides pour la requête : la propriété à l’emplacement JSON Pointer ‘/3/url’ doit être une URL valide. »
Oui, je vois ce qui pourrait causer cela… Le schéma indique url: true et en fait nous autorisons les URL relatives, donc c’est juste une chaîne de caractères et considérée comme une URL invalide.
Je vais examiner cela.
Pouvez-vous me montrer les paramètres de votre composant s’il vous plaît ? Vous pouvez me les envoyer en message privé si vous préférez.
Pas à la maison maintenant, je le ferai dès que possible
J’ai résolu le problème directement avec Patrick en message privé. Si quelqu’un rencontre le même problème, sachez que les nouveaux paramètres rendent la vérification de l’URL plus stricte.
Toute URL que vous saisissez dans les paramètres doit être une URL correctement encodée. La solution la plus simple est d’utiliser encodeURI dans la console d’un navigateur :
Prenons cette URL en exemple : “/some-url?title=Foo bar:baz”
encodeURI("/some-url?title=Foo bar:baz")
Donnera :
/some-url?title=Foo%20bar:baz
Salut, même s’il n’y a aucun moyen de réorganiser les icônes, vous pouvez le faire en modifiant le script en cliquant sur le bouton « Éditeur » dans le composant et en réorganisant les lignes de code :
Exécution de 3.5.0.beta2-dev (137e8a0fa0). Je suis 14 commits de retard.
Lorsque j’essaie de mettre à jour, j’obtiens une erreur :
Une erreur s'est produite : Vous avez fourni des paramètres invalides à la requête : La propriété au pointeur JSON '/1/title' doit être présente. La propriété au pointeur JSON '/1/icon' doit être présente. La propriété au pointeur JSON '/1/url' doit être présente.
Y a-t-il un moyen de résoudre ce problème ?
Pouvez-vous nous indiquer vos paramètres en cliquant sur Éditeur de paramètres ?
S’il est privé, vous pouvez m’envoyer un message privé.
Envoyé, merci !
Juste un suivi. Comme suspecté, la migration a échoué pour Wingtip pour diverses raisons. Je lui ai donné les bons paramètres. Je me demande dans quelles conditions les migrations peuvent échouer. ![]()
EDIT :
En fait, cela n’a pas fonctionné au début, alors je lui ai suggéré ceci :
De plus, pour une raison quelconque, il n’acceptait pas les paramètres valides ; j’ai dû réinitialiser les paramètres, mettre à jour, puis reconfigurer avec les bons. Ce n’est pas grave, il n’y avait pas beaucoup de configuration nécessaire. Merci encore pour votre aide !
Bonjour, je n’arrive pas à afficher une icône svg personnalisée et j’apprécierais votre aide pour identifier ce que je fais mal.
J’ai téléchargé un fichier svg dans le thème par défaut :
Ensuite, j’ai ajouté ceci à ce composant de thème :


J’ai utilisé icons-sprite, fa-icons-sprite et fab-icons-sprite, mais le svg ne s’affiche pas. Le placeholder est là, on peut cliquer dessus et le lien fonctionne, mais le rectangle n’a pas d’icône.
L’inspecteur montre ceci :
<svg class="fa d-icon d-icon-fab-icons-sprite svg-icon svg-string" aria-hidden="true" xmlns="http://www.w3.org/2000/svg"><use href="#fab-icons-sprite"></use></svg>
Je pense qu’il faudrait le déplacer vers un nouveau sujet Dev.
@icaria36
Pouvez-vous partager le contenu de Three_asterisks ?
La feuille de sprites suit un format spécifique.
Ensuite, vous pouvez utiliser my-theme-icon-1, my-theme-icon-2 comme identifiants.
Plus d’informations sur Replace Discourse's default SVG icons with custom icons in a theme.
@Arkshine merci beaucoup ! J’étais arrivé sur cette page mais apparemment j’ai fait défiler trop vite. Non, je n’ai pas fait ce devoir avec le fichier SVG. J’essaierai (c’est la première fois que j’édite du texte dans un fichier SVG ; il y a toujours une première fois)
et j’espère que ce sera tout. ![]()
Je parviens à charger les icônes Facebook, Instagram et TikTok avec ce composant, mais peu importe ce que j’essaie, je n’arrive pas à charger ni l’ancien Twitter, ni la nouvelle icône X.
Avez-vous des pistes ?




