Réorganisation du menu latéral de Discourse

:information_source: Résumé Permet de réorganiser les sections par défaut et personnalisées du menu de la barre latérale
:eyeglasses: Aperçu https://discourse.theme-creator.io/theme/Lilly/discourse-sidebar-menu-reorder
:hammer_and_wrench: Dépôt https://github.com/Lillinator/discourse-sidebar-menu-reorder
:question: Guide d’installation Comment installer un thème ou un composant de thème
:open_book: Nouveau sur les thèmes Discourse ? Guide pour débutants sur l’utilisation des thèmes Discourse

Installer ce composant de thème

:bulb: Introduction

J’ai remarqué de nombreuses demandes de la part d’administrateurs Discourse souhaitant réorganiser les sections du menu de la barre latérale, y compris les sections personnalisées globales. Comme il n’est actuellement ni très intuitif ni simple pour la plupart des gens de le faire avec du CSS, et que cela peut être difficile à gérer et à modifier, j’ai créé un composant de thème qui rend cette tâche beaucoup plus facile dans l’interface d’administration.

:woman_technologist:t2: Aperçu

Ce composant de thème Discourse permet aux administrateurs de réorganiser les sections du menu de la barre latérale de leur forum dans l’interface d’administration, y compris toutes les sections par défaut ainsi que toutes les sections personnalisées visibles globalement.

Le composant fonctionne à la fois pour les vues de la barre latérale sur ordinateur et mobile, ainsi que pour le mode menu déroulant de l’en-tête (bien qu’il soit idéalement conçu pour le mode barre latérale).


:wrench: Installation & Configuration

  • Installez ce composant de thème conformément au Guide pour débutants sur l’utilisation des thèmes Discourse.
  • La section community fait référence à la section supérieure par défaut de la barre latérale : le menu avec l’en-tête Sujets et inclut le sous-menu déroulant Plus ; il est recommandé de ne déplacer qu’une ou deux sections (par défaut ou personnalisées) au-dessus de la section community.
  • Ne supprimez aucune des sections par défaut dans le paramètre, sinon elles seront désordonnées (vous pouvez toujours les réajouter ou réinitialiser le paramètre).
  • La meilleure façon de configurer ce composant est d’avoir l’écran d’administration du composant avec le paramètre de liste de réorganisation dans une fenêtre de navigateur, et la vue de la barre latérale du forum en tant qu’utilisateur de test dans une autre fenêtre à côté ; rechargez la page après chaque modification de l’ordre des sections du menu dans la liste.

:gear: Paramètres

Paramètre Description
Sidebar menu order Un paramètre de liste contenant les sections de menu par défaut. (community est la section supérieure par défaut dans la barre latérale et inclut le sous-menu déroulant More. ) Réorganisez les sections du menu à l’aide des flèches haut et bas sur le côté. Des sections personnalisées visibles globalement peuvent également être ajoutées : utilisez l’identifiant du nom du menu (par exemple, pour un menu personnalisé intitulé Test Menu, ajoutez test-menu dans le paramètre).

Le composant de thème possède initialement les paramètres par défaut. Les administrateurs doivent ajouter toutes les sections de menu personnalisées globales qu’ils souhaitent intégrer à la liste de réorganisation, puis les réorganiser avec les sections par défaut.

capture d'écran des paramètres par défaut du composant


:camera_flash: Captures d’écran

Les captures d’écran ci-dessous montrent la section community et deux exemples de sections de menu personnalisées appelées “Dev Links” (dev-links) et “Toolbox” (toolbox) telles qu’elles apparaissent dans le panneau d’administration du composant à gauche, et pour un utilisateur régulier à droite. Les flèches pour déplacer une section de menu vers le haut et vers le bas dans le paramètre d’administration du composant sont indiquées dans le petit encadré rouge.


Ici, le paramètre est configuré pour afficher la section par défaut categories au-dessus de la section community (modes réduit et développé) :

Voici un exemple utilisant deux sections personnalisées : l’une appelée dev-links qui se trouve au-dessus de la section par défaut community, et l’autre appelée toolbox qui se trouve en dessous de la section par défaut tags.

Notez également la section appelée inbox-section dans la capture d’écran d’administration ci-dessus : il s’agit de la section Messages que le composant Section Messages pour la barre latérale insère dans la barre latérale (sous le menu personnalisé toolbox ci-dessus), montrant que ce composant peut également être utilisé pour la déplacer.

De plus, ce composant de thème peut être utilisé avec les composants Menus de barre latérale par groupe et Sous-catégories indentées (voir dans la capture d’écran ci-dessus).


:backhand_index_pointing_right: Remarques

  • Après avoir ajouté de nouvelles sections personnalisées globales au paramètre sidebar_menu_order, les utilisateurs du forum verront le nouvel ordre correct du menu lorsqu’ils rechargeront leur navigateur ou réduiront/étendront la barre latérale.
  • La création de nouvelles sections de menu personnalisées globales pendant que ce composant est activé peut entraîner des sections temporaires en double pour l’administrateur jusqu’à ce que la barre latérale soit rendue à nouveau, soit par un rafraîchissement de la page, soit par une réduction et une extension.
  • Les sections de menu personnalisées créées par l’utilisateur apparaîtront toujours en bas de la barre latérale pour cet utilisateur, mais sont par ailleurs inchangées.
  • Si le paramètre Admin -> Tous les paramètres du site -> Mode de barre latérale séparée pour le chat est défini sur Toujours, le bouton de chat apparaîtra comme d’habitude en bas, et le composant ignorera les sections de menu de chat par défaut (chat-dms, chat-channels et chat-search).

Découvrez mes autres éléments Discourse
26 « J'aime »

C’est tellement cool. J’aime vraiment utiliser la configuration catégories (1) puis chat (2). Merci beaucoup pour votre excellent travail Lilly

4 « J'aime »

Est-ce toujours pris en charge ? J’ai essayé d’installer et j’ai obtenu l’erreur suivante. J’ai essayé à partir d’ici et aussi en utilisant les instructions manuelles.

Oui, c’est le cas. Le lien dans le bouton « installer ce composant de thème » est obsolète, mais le lien en haut est toujours correct et vous pouvez l’utiliser pour installer le composant manuellement

Ou essayez ce bouton

Installer ce composant de thème

2 « J'aime »

Je viens de corriger le lien dans le bouton d’installation dans le message initial, donc tout va bien maintenant.

4 « J'aime »

J’ai rencontré un petit bug, où l’ordre spécifié ne fonctionne pas lorsque j’ai un écran d’ordinateur de bureau inhabituellement étroit.

Voici à quoi je veux que cela ressemble :

   

Lorsque j’ai un écran de taille étrange (c’est-à-dire mon téléphone pliable - semble avoir une largeur d’environ 640-820), je perds l’ordre :

Mais dans l’in

1 « J'aime »

oh mon dieu le retour de la barre latérale à 2 colonnes. je pensais que ce truc avait disparu ? je vais jeter un œil…

4 « J'aime »

C’était effectivement moi qui étais un peu bête ! J’utilisais l’ancien composant et je ne l’avais même pas remarqué.

J’ai cependant remarqué une chose : ce qui était appelé community est maintenant appelé the-forum. Voici une PR pour nettoyer cela dans les paramètres par défaut :

1 « J'aime »

Sur mon forum, il est toujours appelé community et ici aussi sur Meta.


Je me demande comment vous l’avez changé.

2 « J'aime »

C’est vraiment bizarre ! Je me souviens avoir changé le texte à un moment donné maintenant que j’y pense. Mais je ne sais pas comment c’est arrivé dans le HTML !

Je vais retirer cette PR et réfléchir un peu plus. Il se pourrait que cela reste une « particularité » de mon site !

1 « J'aime »

vous devriez être en mesure d’exécuter quelques commandes rails pour le renommer. si votre section s’appelle bien the-forum, alors je pense que cela devrait fonctionner depuis la console rails :

cd /var/discourse
./launcher enter app
rails c
section = SidebarSection.find_by(title: 'the-forum', public: true)
if section
  section.update!(title: 'community')
  puts "Terminé : renommé en 'community'."
else
  puts "Section non trouvée."
end

faites absolument une sauvegarde d’abord.

3 « J'aime »

Je l’ai enfin essayé. Cependant, il n’a pas trouvé la section :

Je pense que cela risque de rester une particularité du site, n’est-ce pas ?

1 « J'aime »

(message supprimé par l’auteur)

2 « J'aime »

Remarque : je viens de pousser des correctifs mobiles pour ce composant — il commençait à afficher les lignes horizontales entre les sections de la barre latérale, qui ne devraient apparaître que sur les vues bureau/tablette.

2 « J'aime »