Blocs de la barre latérale droite

||||\n-|-|-|\n:discourse2: | Résumé | Right Sidebar Blocks affiche une barre latérale à droite des listes de sujets avec une liste configurable de blocs. \n| :eyeglasses: | Aperçu | Aperçu sur Discourse Theme Creator\n:hammer_and_wrench: | Lien du dépôt | \u003chttps://github.com/discourse/discourse-right-sidebar-blocks\u003e\n:open_book:|Nouveau dans les thèmes Discourse ?| Guide du débutant pour utiliser les thèmes Discourse\n\n[wrap=theme-install-button repoUrl="https://github.com/discourse/discourse-right-sidebar-blocks\" repoName="Right Sidebar Blocks"]\nInstaller ce composant de thème\n[/wrap]\n\n[quote]\n\n:discourse2: Comme il s’agit d’un official composant de thème maintenu par l’équipe Discourse, les demandes de Support, Bug, UX et Feature peuvent être faites dans les catégories respectives ici sur Meta, et étiquetées avec le tag de composant de thème approprié. Cliquez sur un lien ci-dessous pour en créer une. :+1: \n\n\u003ckbd\u003e [:question:\u0026nbsp;Support](Discourse Meta "Demander de l’aide sur la configuration et l’utilisation de Right Sidebar Blocks") \u003c/kbd\u003e \u003ckbd\u003e [:bug:\u0026nbsp;Bug](Discourse Meta "Un rapport de bug signifie que quelque chose est cassé, empêchant l’utilisation normale/typique du composant de thème") \u003c/kbd\u003e \u003ckbd\u003e [:eyes:\u0026nbsp;UX](Discourse Meta "Discussion sur l’interface utilisateur de Right Sidebar Blocks, et comment les fonctionnalités sont présentées (y compris la langue et les éléments de l’interface utilisateur)") \u003c/kbd\u003e \u003ckbd\u003e [:bulb:\u0026nbsp;Fonctionnalité](Discourse Meta "Discussion sur la manière dont les fonctionnalités existantes de Right Sidebar Blocks peuvent être améliorées ou améliorées, et sur le fonctionnement des nouvelles fonctionnalités proposées")\u003c/kbd\u003e\n\n[/quote]\n\n### Fonctionnalités\n\nLe composant comprend quelques blocs que vous pouvez afficher dans la barre latérale :\n\n* popular-tags\n* top-contributors\n* recent-replies\n* category-topics\n* custom-html\n* category-list\n* subcategory-list\n* upcoming-events-list*\n* minimal-gamification-leaderboard** \n\n\u003e:information_source: L’annuaire des utilisateurs doit être activé pour que la liste des meilleurs contributeurs soit renseignée. Si votre liste est vide, recherchez enable user directory dans vos paramètres d’administration pour vous assurer qu’il est activé.\n\n\* Uniquement disponible lorsqu’il est utilisé avec le plugin Calendar.\n** Uniquement disponible lorsqu’il est utilisé avec le plugin Gamification.\n\nVous pouvez également utiliser d’autres composants Ember comme blocs, il vous suffit d’utiliser le nom correct. Par exemple, le cœur inclut un composant Ember signup-cta, et vous pouvez l’utiliser dans la barre latérale tel quel. Notez que vous ne pouvez pas utiliser de composants qui attendent un ensemble de paramètres, mais vous pouvez créer votre propre composant Ember dans un thème séparé et le référencer simplement par son nom dans le paramètre blocks de la barre latérale. \n\nVous pouvez contrôler certaines fonctionnalités des blocs fournis via des paramètres.\n\n| nom | description | défaut | valeur | disponible pour |\n|—|—|—|—|—|\n| count | limite le nombre de résultats | varie | nombre | tous sauf custom-html |\n| excerptLimit | limite la longueur de chaque extrait de réponse | 150 | nombre | recent-replies |\n| id | id de la catégorie | | id de catégorie (category-list utilise des valeurs séparées par des virgules) | category-topics, category-list |\n| content | contenu à afficher | | html | custom-html |\n| scopeToCategory | n’affiche que dans la catégorie ou sous-catégorie X | | id de catégorie | popular-tags |\n| excludedTags | liste des tags exclus | | noms de tags | popular-tags |\n| displayInSpecificCategories | liste des catégories où afficher le widget | all | nombres séparés par des virgules | popular-tags |\n| id | id du classement | | nombre | minimal-gamification-leaderboard |\n| tag | quel tag afficher | | nom du tag | tag-topics |\n| period | période de temps des sujets principaux | weekly | all, yearly, quarterly, monthly, weekly, daily | top-topics |\n| title | titre du bloc | varie | chaîne | tag-topics, category-list, top-contributors |\n| excludedGroupNames | Exclut les groupes spécifiés | | Noms de groupes | top-contributors |\n| order | Ordonne les contributeurs | | Chaîne (likes_received ou likes_given) | top-contributors |\n| period | Période de temps pour les meilleurs contributeurs | yearly | all, yearly, quarterly, monthly, weekly, daily | top-contributors |\n| upcomingDays | Événements commencés avant la valeur fournie | 180 | nombre | upcoming-events-list |\n| timeFormat | Format de la date/heure de l’événement | LT | format momentjs | upcoming-events-list |\n\n### Paramètres\n\n| Nom | Description\n|-|-|\n| blocks | \n| show in routes | Utilisateurs avancés uniquement : limite la barre latérale aux routes sélectionnées.\u003cbr\u003eExemples : discovery.latest, discovery.unread, discovery.new, discovery.top, tag.show, "c/slug-de-categorie" (pour les catégories), "tag/nom-de-tag-exemple" (pour les tags).\u003cbr\u003eLorsqu’il est vide, la barre latérale est affichée sur toutes les routes de liste.\n\nblocks: choisissez les blocs à afficher et ajustez leur ordre\n\nshow_in_routes: décidez sur quelles routes de liste de sujets afficher la barre latérale. Par défaut, elle s’affichera sur toutes les routes de découverte sauf /categories. \n\n| Traduction | Défaut\n|-|-|\n| top_contributors.heading | Meilleurs contributeurs\n| top_contributors.view_all | Voir tout\n| popular_tags.heading | Tags populaires\n| popular_tags.view_all | Voir tout\n| recent_replies.heading | Réponses récentes\n| subcategory_list.heading | Sous-catégories\n| top_topics.heading | Sujets principaux\n| category_list.heading | Catégories\n\n### Captures d’écran\n\n

\n\n\n\n\n\nNotez que le composant est livré avec un style très basique, l’hypothèse est que les administrateurs utilisant le composant ajouteront leur propre style dans leur propre thème.\n\n### Interactions\n\nLorsqu’il est utilisé conjointement avec le plugin Discourse Calendar, vous pouvez ajouter un bloc de barre latérale pour vos événements à venir. Le nom du bloc est upcoming-events-list, et le format de la date peut être personnalisé en suivant cette syntaxe (par exemple, MMMM D, YYYY ).\n\n\n\n\n\n\n\u003cbr\u003e\n\n\n\u003e:discourse2: Hébergé par nous ? Les composants de thème sont disponibles à l’utilisation sur nos plans Standard, Business et Enterprise."

60 « J'aime »
Discourse Gamification
Sidebar for Subcategories
Add User leaderboard in sidebar
FKB Pro - Social theme
Setup Continuous Integration using GitHub Actions
Blogroll (feature request)
Topic List Previews (TLP)
How to include a YouTube video or video widget on the community home page?
How to extend the Discourse sidebar?
Discourse Bars :beers: :cocktail: (a sidebar framework)
Homepage Blocks
Topic List Excerpts
🏷️ Bars Tag List Component
Discourse Bars :beers: :cocktail: (a sidebar framework)
When to switch themes/plugins to `.gjs`?
FKB Pro - Social theme
Recent replies takes 2 seconds to display
Leaderboard in homepage
Discourse Gamification Plugin in the Header
Discourse Calendar updated to use fullcalendar 6
I'm getting errors when I switch categories too quickly
目前我感觉看到的最好看的Discourse主题,有没有谁能爱心奉献一个
Adding ‘hot topics’ to the Sidebar
Tag Icons + Tag Banners + Right Sidebar Blocks
Discourse Sidebar Blocks
Custom Components -- add button or text at any plugin outlet
Top Posters Widget?
Creating a Top 20 leaderboard for a specific date range
Connectors not rendering
Sidebar for Subcategories
Displaying tags along with categories
FKB Pro - Social theme
Customizing your site with existing theme components
Creating and installing plugins?
FKB Pro - Social theme
Adding a recent comments widget
Add social media handles on home page
Alternate presentation of sub-categories which puts the _top_ category first?
FKB Pro - Social theme
Looking for the perfect theme
Discourse Bars :beers: :cocktail: (a sidebar framework)
Discourse Bars :beers: :cocktail: (a sidebar framework)
Add right sidebar gamification mini-leaderboard
Add right sidebar gamification mini-leaderboard
Pyx's Modern Theme

Que dois-je ajouter dans le paramètre « name » si j’utilise du HTML personnalisé ?

1 « J'aime »

Génial de voir cela comme un composant thématique #officiel ! Cela ouvre certainement un nouveau monde de personnalisations.

J’ai 2 questions :

  1. Dans la barre latérale, je veux afficher la liste des sujets /latest de la même manière que category-topics les affiche. Est-ce possible ? recent-replies s’en rapproche (surtout si l’extrait est masqué), mais je veux vraiment inclure les sujets sans réponses.

  2. Est-il possible d’afficher les blocs latéraux uniquement dans certaines catégories ? Ce que je veux dire, c’est que la seule route affichée est la liste des sujets de catégorie, et uniquement pour les catégories que je spécifie.

1 « J'aime »

Désolé, la documentation pour cela est lacunaire (je vais la mettre à jour maintenant). Le nom du paramètre pour custom-html est content.

Nous n’avons rien de prêt à l’emploi pour la liste complète /latest, mais vous pouvez créer la vôtre et l’ajouter à la configuration en utilisant son nom. Cela devrait être très similaire aux listes de catégories/tags, juste sans filtre.

Actuellement, non, vous ne pouvez pas l’afficher uniquement sur des catégories spécifiques. Vous pouvez cependant utiliser discovery.category dans le paramètre show in routes, qui n’affichera la barre latérale que sur les routes de catégories (mais sur toutes, pas un sous-ensemble).

3 « J'aime »

Merci, est-il possible d’inclure la barre latérale dans chaque sujet également ?

4 « J'aime »

J’ai juste noté une limitation du composant, en particulier en ce qui concerne les blocs category-topics et subcategory-list, et c’est que l’ajout de plusieurs blocs de l’un ou l’autre de ces types avec des id différents a toujours entraîné l’affichage des sujets/sous-catégories du bloc le plus haut dans l’éditeur de lancement (je suppose).\n\nUn bug que j’ai actuellement est qu’après avoir joué avec le bloc subcategory-list pendant environ 10 à 12 fois, il a cessé de s’afficher complètement sur notre site de staging (voir la vidéo ci-dessous).\n\n

2 « J'aime »

Le bloc subcategory-list ne prend aucun paramètre. Lorsqu’il est utilisé, il affiche les sous-catégories de la catégorie actuelle en fonction de la catégorie vers laquelle vous avez navigué… il n’est donc pas logique d’utiliser ce bloc plus d’une fois.

C’est aussi pourquoi le subcategory-list n’apparaît pas dans votre vidéo. Si vous êtes sur une route qui n’est pas une catégorie, ce bloc ne s’affiche pas.

Pour category-topics, dans votre vidéo, je vois le même ID utilisé deux fois : 7. J’ai effectué un test local et avec différents IDs, j’obtiens différents sujets affichés (c’est-à-dire que je ne peux pas reproduire le bug signalé).

4 « J'aime »

Salut, un immense merci pour ce super plugin !

J’ai une question concernant la barre latérale subcategory-list : y a-t-il une option pour l’afficher uniquement pour une catégorie particulière ?

Nos développeurs ont jeté un œil et il semble qu’il n’y ait pas de prise en charge de l’ID de paramètre pour subcategory-list, est-ce quelque chose que vous pourriez ajouter, s’il vous plaît ?

2 « J'aime »

Et concernant le bloc top-contributors : y a-t-il un moyen de récupérer les résultats pour une période d’une semaine ?

2 « J'aime »

Actuellement, non, cette option n’existe pas. Il serait logique de l’ajouter, bien que j’imagine qu’elle devrait prendre en charge plusieurs identifiants afin que vous puissiez afficher le bloc pour une liste de catégories (A, B et C, par exemple). Je suis heureux d’examiner les PR sur le dépôt, si vos développeurs pensent pouvoir l’ajouter, ce serait formidable. (Sinon, je peux l’ajouter à une liste de fonctionnalités souhaitables dans le composant de thème.)

Voulez-vous dire a) récupérer les résultats et les mettre en cache pendant une semaine ou b) récupérer les meilleurs contributeurs de la semaine dernière à chaque chargement ? Ce dernier devrait être facile à ajouter, la mise en cache est un peu plus délicate.

3 « J'aime »

@pmusaraj pouvez-vous ajouter

padding: 3px 4px 3px 4px

pour les popular-tags ?

Merci.

1 « J'aime »

Salut @pmusaraj, merci beaucoup pour votre réponse !

Notre développeur a partagé les PRs ici, veuillez y jeter un œil : Implement the `displayInCategories` parameter which allows to specify a list of categories where the `subcategories-list` block is displayed by d521bb85 · Pull Request #10 · discourse/discourse-right-sidebar-blocks · GitHub

La deuxième variante serait parfaite ! Nous devons en effet afficher la liste des meilleurs contributeurs de la semaine dernière. Merci beaucoup !

4 « J'aime »

Le composant a intentionnellement très peu de style afin que les consommateurs puissent ajouter leurs propres styles dans leurs propres thèmes/composants de thème.

Merci, ce PR est excellent et il est maintenant fusionné !

Je vais également travailler sous peu à l’ajout de la configurabilité du bloc des meilleurs contributeurs (ou si quelqu’un est plus rapide, je serai heureux d’examiner un PR).

3 « J'aime »

Je ne suis pas sûr de trouver le code pour cela - pourriez-vous m’orienter ? J’aimerais examiner la modification de category-topics afin que l’absence d’ID vous donne toutes les catégories (et donc effectivement la liste /latest).

Ce serait formidable d’avoir cela dans tous les blocs !

2 « J'aime »

@pmusaraj Génial ! Merci beaucoup pour votre aide, j’ai hâte d’utiliser le bloc des meilleurs contributeurs :slight_smile:

1 « J'aime »

Salut ! Je ne suis pas sûr que ce composant cause des erreurs. Mais une fois désactivé, plus aucune erreur n’est visible. :thinking: Quelqu’un pourrait-il examiner cela pour m’aider à identifier le problème ? J’apprécierais beaucoup.

Avec ce composant activé, en visitant un certain sujet sur ordinateur, cliquer sur le logo du site dans la barre supérieure pour tenter de revenir à la page d’accueil me ramenait à un écran de chargement qui ne disparaissait jamais et générait des erreurs dans la console du navigateur (comme ci-dessous). Aucun journal d’erreurs connexe n’a été trouvé dans le chemin mysite/logs.

d6ca234baf8d2d5e65f414f31e198fe956d9a939.js?__ws=www.bfsu.cafe:98 Uncaught (in promise) TypeError: Cannot read properties of undefined (reading 'findFiltered')
    at new CategoryTopics (d6ca234baf8d2d5e65f414f31e198fe956d9a939.js?__ws=www.bfsu.cafe:98:18)
    at h.createComponent (base-component-manager.js:37:1)
    at h.createComponent (ember-component-manager.js:54:1)
    at C.create (manager.js:558:1)
    at Object.evaluate (runtime.js:3301:1)
    at Object.evaluate (runtime.js:1312:1)
    at Dt.evaluateSyscall (runtime.js:5232:1)
    at Dt.evaluateInner (runtime.js:5188:1)
    at Dt.evaluateOuter (runtime.js:5180:1)
    at Wt.next (runtime.js:6191:1)
    at Wt._execute (runtime.js:6175:1)
    at Wt.execute (runtime.js:6166:1)
    at qt.handleException (runtime.js:5369:1)
    at Kt.handleException (runtime.js:5605:1)
    at Lt.throw (runtime.js:5302:1)
    at Be.evaluate (runtime.js:2580:1)
    at Lt._execute (runtime.js:5285:1)
    at Lt.execute (runtime.js:5266:1)
    at Ht.rerender (runtime.js:5634:1)
    at Er.render (index.js:7578:1)
    at index.js:7896:1
    at It (runtime.js:5074:1)
    at Rr._renderRoots (index.js:7876:1)
    at Rr._renderRootsTransaction (index.js:7928:1)
    at Rr._revalidate (index.js:7970:1)
    at invoke (backburner.js:351:1)
    at p.flush (backburner.js:241:1)
    at h.flush (backburner.js:447:1)
    at q._end (backburner.js:999:1)
    at _boundAutorunEnd (backburner.js:648:1)
CategoryTopics @ d6ca234baf8d2d5e65f414f31e198fe956d9a939.js?__ws=www.bfsu.cafe:98
createComponent @ base-component-manager.js:37
createComponent @ ember-component-manager.js:54
create @ manager.js:558
(anonymous) @ runtime.js:3301
evaluate @ runtime.js:1312
evaluateSyscall @ runtime.js:5232
evaluateInner @ runtime.js:5188
evaluateOuter @ runtime.js:5180
next @ runtime.js:6191
_execute @ runtime.js:6175
execute @ runtime.js:6166
handleException @ runtime.js:5369
handleException @ runtime.js:5605
throw @ runtime.js:5302
evaluate @ runtime.js:2580
_execute @ runtime.js:5285
execute @ runtime.js:5266
rerender @ runtime.js:5634
render @ index.js:7578
(anonymous) @ index.js:7896
It @ runtime.js:5074
_renderRoots @ index.js:7876
_renderRootsTransaction @ index.js:7928
_revalidate @ index.js:7970
invoke @ backburner.js:351
flush @ backburner.js:241
flush @ backburner.js:447
_end @ backburner.js:999
_boundAutorunEnd @ backburner.js:648
Promise.then (async)
n @ backburner.js:28
flush @ index.js:46
_scheduleAutorun @ backburner.js:1218
_end @ backburner.js:1009
_boundAutorunEnd @ backburner.js:648
Promise.then (async)
n @ backburner.js:28
flush @ index.js:46
_scheduleAutorun @ backburner.js:1218
_end @ backburner.js:1009
_boundAutorunEnd @ backburner.js:648
Promise.then (async)
n @ backburner.js:28
flush @ index.js:46
_scheduleAutorun @ backburner.js:1218
_end @ backburner.js:1009
_boundAutorunEnd @ backburner.js:648
Promise.then (async)
n @ backburner.js:28
flush @ index.js:46
_scheduleAutorun @ backburner.js:1218
_ensureInstance @ backburner.js:1206
scheduleOnce @ backburner.js:845
k @ index.js:522
queueRerender @ mount-widget.js:124
scheduleRerender @ widget.js:319
rerenderResult @ widget.js:365
F @ hooks.js:207
(anonymous) @ hooks.js:247
dispatch @ jquery.js:5430
_.handle @ jquery.js:5234
frame:251 Vous avez rejeté le drapeau, mais les cookies tiers sont désactivés dans votre navigateur, le drapeau reviendra la prochaine fois que vous visiterez la page.

Je vois des informations sur ce composant dans le fichier js mentionné dans la première ligne du journal d’erreurs ci-dessus.

// lignes 96-103 de d6ca234baf8d2d5e65f414f31e198fe956d9a939.js?__ws=www.bfsu.cafe
      const filter = "c/" + categoryId;
      this.category = _category.default.findById(categoryId);
      this.store.findFiltered("topicList", {
        filter
      }).then(result => {
        const results = result.topic_list.topics;
        results.forEach(topic => {
          topic.url = "".concat((0, _getUrl.default)("/t/")).concat(topic.slug, "/").concat(topic.id);
1 « J'aime »

Ah, oui, désolé pour ça. Ça devrait être corrigé maintenant, il vous suffit de récupérer la dernière mise à jour du composant de thème.

3 « J'aime »

Merci ! Ça fonctionne très bien maintenant.

3 « J'aime »

Salut @pmusaraj, désolé si j’ai l’air insistant - je voulais juste savoir s’il y avait une ETA concernant cette implémentation.

Ce serait un ajout génial :slight_smile:

Merci beaucoup !

3 « J'aime »

Merci pour cet excellent composant !

J’ai remarqué que mon en-tête et mon pied de page disparaissent globalement lorsque j’active ceci (tout dans mon header.html et footer.html). Était-ce intentionnel ? Mais pour contourner cela, je dois utiliser le PluginAPI pour ajouter manuellement un en-tête/pied de page.

2 « J'aime »