J’utilise actuellement le widget suivant pour afficher une bannière/un lien après le premier message d’un fil. Cela fonctionne bien jusqu’à présent :
const { iconNode } = require("discourse-common/lib/icon-library");
api.decorateWidget("post:after", helper => {
const firstPost = helper.attrs.firstPost;
const h = helper.h;
if (firstPost) {
return h("div#support", [
h(
'a.icon', {
href:'link',
title: 'Support-Icon'
}, iconNode('heart')),
h(
'a.link', {
href: "link",
title: 'Support-Link'
}, 'some text',
),
]);
}
});
Cependant, j’aimerais intégrer la bannière/le lien à un autre endroit - à savoir avant le bouton de réponse. J’ai marqué la position en rouge ci-dessous :
Quelqu’un peut-il me donner un conseil sur la façon de réaliser cela ?
Je sais que la position/la tâche est définie par ceci. La question est de savoir comment trouver ce NOM:EMPLACEMENT :
api.decorateWidget("NOM:EMPLACEMENT", helper => {
Moin
Janvier 12, 2024, 8:17
2
OrkoGrayskull:
après le premier message
OrkoGrayskull:
La position que vous avez marquée sur l’image se situe après tous les messages du sujet. Ainsi, lorsqu’il y aura des réponses, votre bannière se trouvera en dessous de celles-ci et non directement sous le premier message.
2 « J'aime »
piffy
Janvier 12, 2024, 8:17
3
Il y a une prise de plugin appelée topic-above-footer-buttons
Ceci vous aide à les voir :
(deprecated) Plugin outlet locations theme component
Ensuite, suivez ce guide :
Discourse includes hundreds of Plugin Outlets which can be used to inject new content or replace existing contend in the Discourse UI. ‘Outlet arguments’ are made available so that content can be customized based on the context.
Choosing an outlet
To find the name of a plugin outlet, search Discourse core for “<PluginOutlet”, or use the plugin outlet locations theme component. (e.g. topic-above-posts).
Wrapper outlets
Some outlets in core look like <PluginOutlet @name="foo" />. These allow you…
4 « J'aime »
Merci. Ça a fonctionné.
Exemple de code pour Head :
<script type='text/x-handlebars' data-template-name='/connectors/topic-footer-main-buttons-before-create/team-support'>
<div id="support">
<a href="link" title="Support-Icon" class="icon">
<svg class="fa d-icon d-icon-heart svg-icon svg-node" aria-hidden="true"><use xlink:href="#heart"></use></svg>
</a>
<a href="link" title="Support-Link" class="link">texte</a>
</div>
</script>
1 « J'aime »
Malheureusement, le bouton/la bannière ne s’affiche que lorsque l’utilisateur est connecté. Comment puis-je m’assurer que le bouton/la bannière s’affiche également pour les utilisateurs non enregistrés ?
J’utilise cette position de thème : topic-footer-main-buttons-before-create
system
(system)
A fermé ce sujet ()
Février 18, 2024, 6:56
6
This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.