Bonjour, quelqu’un peut-il aider avec une solution accessible ? - Je souhaiterais placer une image sur ma page d’accueil dans le div de classe .contents.clearfix.body-page, sous le texte de bienvenue mais avant les boutons du bas.
Merci !
Pour le moment, vous ne pouvez ajouter du contenu qu’au-dessus du texte… mais je viens de publier une mise à jour qui vous permettra d’ajouter du contenu en dessous, car cela semble être une fonctionnalité raisonnable à autoriser. (FEATURE: Add below-static plugin outlet · discourse/discourse@e4ebc30 · GitHub).
Si vous mettez à jour Discourse dans quelques heures (via votresite.com/admin/upgrade), vous devriez obtenir ce changement et pouvoir ajouter du contenu là où vous en avez besoin.
Voici comment procéder. Dans votre thème, vous devrez ajouter ceci à votre fichier header.html :
<script type="text/x-handlebars" data-template-name="/connectors/below-static/custom-login">
{{#if showLoginButton}}
<div class="custom-login-content">
<!-- Votre HTML personnalisé ici -->
</div>
{{/if}}
</script>
Notez que ce modèle est utilisé à plusieurs endroits (page FAQ, page À propos, etc.), donc si vous ne souhaitez que votre contenu soit visible sur la page de connexion d’accueil, vous devez conserver l’enveloppement {{#if showLoginButton}} {{/if}}.
Vous pouvez en savoir plus sur l’utilisation des emplacements de plugin pour ajouter du contenu à nos modèles Handlebars ici : Developing Discourse Themes & Theme Components
Salut Kris, j’utilise une instance Discourse locale dans Docker pour ces modifications de design avant de les appliquer au forum en direct, mais je ne peux pas accéder à une page appelée ‘example.com/admin/upgrade’ car cette page n’existe pas. Elle n’existe pas non plus sur notre site en direct. Est-ce que je fais quelque chose de mal ou existe-t-il une autre méthode de mise à niveau ? Je ne vois pas non plus de moyen de procéder à une mise à niveau depuis admin/dashboard sur le site en direct.
Bonjour à nouveau, Kris. La page que vous mentionnez ci-dessus n’est pas disponible dans mon test Discourse sur Docker ni dans mon Discourse en production. Pouvez-vous m’aider ?
Salutations
Exécutez-vous dans un sous-dossier ? Comment ces instances ont-elles été installées ?
Chaque instance Discourse devrait avoir une URL /admin/upgrade, mais si vous n’êtes pas administrateur, elle ne sera pas accessible pour vous.
Bonjour Stephen,
Je suis administrateur et modérateur de niveau de confiance 4 sur les deux instances.
L’instance locale a été installée à l’aide de Docker dans le répertoire : Users/my-local-user-account(admin)/documents/discourse-test. Je dois d’abord mettre à jour Discourse ici afin de pouvoir créer la page de test de connexion.
Je ne suis pas certain de la méthode d’installation du site en direct (il est antérieur à mon arrivée), mais il est accessible à l’adresse suivante : https://lifeevents.digital.gov.au
Désolé, êtes-vous administrateur et niveau 4 (TL4) ?
Le plugin docker-manager est-il activé dans votre app.yml ?
Êtes-vous certain qu’il ne s’agit pas d’une installation de développement ?
oui, admin et TL4 sur les deux
aucun plug-in installé sur l’instance locale
je ne suis pas sûr pour l’installation de développement - elle a été effectuée comme ceci : # Exécution de Discourse en local pour les tests
Le moyen le plus rapide est d’utiliser Docker.
Étape 1 : Installer Docker
Vous pouvez installer Docker directement depuis le site web.
Vous pouvez l’installer ici : Mac | Docker Docs
Vérifier si le téléchargement a réussi
Pour vérifier si Docker a été téléchargé avec succès, tapez docker -v dans votre terminal ; cela vous indiquera la version en cours d’exécution.
Étape 2 : Créer le dossier Discourse
Je recommande de créer un dossier dans votre Documents ou ailleurs selon vos préférences. Utilisez la commande suivante :
cd ~/Documents
mkdir discourse-test
cd discourse-test
curl -sSL https://raw.githubusercontent.com/bitnami/bitnami-docker-discourse/master/docker-compose.yml > docker-compose.yml
docker-compose up -d
Étape 3 : Mettre à jour le fichier /etc/hosts
Nous devons ajouter la ligne de texte suivante au bas du fichier /etc/hosts :
127.0.0.1 www.example.com
Ouvrez d’abord le fichier avec l’éditeur nano ; vous serez invité à entrer votre mot de passe.
sudo nano /etc/hosts
Ajoutez ensuite ce texte au bas du fichier : 127.0.0.1 www.example.com
Pour enregistrer ce paramètre, appuyez sur ctrl+x, puis y, puis sur la touche Entrée.
Étape 4 : Accès local
Vous devriez maintenant pouvoir ouvrir un navigateur et accéder à www.example.com pour une instance de test de Discourse.
Nom d’utilisateur : user
Mot de passe : bitnami123
Commandes utiles pour Docker
Arrêter Discourse (assurez-vous d’être dans le répertoire ~/Documents/discourse-test) :
docker-compose stop
Démarrer Discourse (assurez-vous d’être dans le répertoire ~/Documents/discourse-test) :
docker-compose up -d
Supprimer les conteneurs (assurez-vous d’être dans le répertoire ~/Documents/discourse-test) :
docker-compose down -v
Supprimer les images (les conteneurs doivent être supprimés en premier) :
docker rmi $(docker images -q)
D’accord, vous utilisez l’installation Bitnami, qui est un package tiers. Je crains que nous ne puissions offrir aucun support pour cela ici. J’ajoute le tag unsupported-install à ce sujet.
Les seules installations prises en charge sont l’installation standard officielle ou, pour les développeurs exécutant localement, l’dev-install.
Vous devrez contacter Bitnami si vous souhaitez de l’aide pour cette installation, ou bien effectuer une sauvegarde et la restaurer sur une installation officiellement prise en charge.
Ok, donc c’est l’installation locale… Je vais examiner une installation standard. Je suis d’accord, l’installation n’est pas standard. Concernant le site en direct, la page admin/upgrade n’est pas disponible non plus sur le site en direct ? Je ne tagguerais pas cela comme une installation non prise en charge, car la demande concernait les deux instances ?
Alors, il est possible qu’il s’agisse également de Bitnami, et la même chose s’appliquera dans ce cas. Sinon, cela signifie que docker-manager a été désactivé, ce qui est également vraiment nécessaire. Je vous laisse enquêter sur cette installation — vous pourrez toujours nous tenir informés ultérieurement.
Vos problèmes illustrent pourquoi nous ne pouvons pas offrir de support pour les packages tiers. S’ils ne se comportent pas comme prévu et manquent de fonctions importantes telles que le mise à jour web, c’est au mainteneur du package d’assurer le support.
Honnêtement, il n’y a vraiment aucune bonne raison d’utiliser ce package. Vous serez presque toujours mieux servi en utilisant l’installation officielle.
Je comprends votre frustration concernant les packages tiers, mais je suis simplement un designer qui cherche à obtenir un résultat. C’était l’option qui m’a été proposée par le développeur, avec qui j’ai eu un accès limité — je ne suis pas développeur.
Je vais examiner l’instance Discourse en direct et je reviendrai vers vous plus tard. Merci pour votre aide et désolé d’avoir confondu la demande en regroupant l’installation des instances dans un seul fil de discussion.
Ce n’est pas un problème et cela ne nous frustre pas, mais je comprends que cela puisse confondre ou frustrer les utilisateurs qui demandent de l’aide.
Nous offrons beaucoup de support gratuit ici, nous devons donc faire quelque chose pour garder la portée de ce support raisonnablement ciblée. Il y a des personnes très créatives qui font des choses
incroyables
avec Discourse, et aider à faciliter cela peut être très gratifiant. Devoir prendre en charge des images non officielles augmenterait de manière exponentielle la charge de ce support, au détriment de tout le reste.
C’est génial ! Si je voulais ajouter du contenu à gauche ou à droite de la div du texte de connexion, cela signifierait-il qu’il faut créer une nouvelle prise de plugin (plugin outlet) ou est-il préférable d’utiliser des attributs CSS ?
Deuxièmement, je suppose que c’est également possible d’ajouter cela dans header.html d’un composant de thème, mais je voulais juste vérifier.
Merci !
J’essaie de faire fonctionner cette solution, mais pour une raison quelconque, showLoginButton n’est jamais considéré comme vrai. Mon site de test est configuré en mode privé, et lorsque je vais sur /login, le bouton apparaît sur la page. J’ai essayé d’enregistrer la valeur de showLoginButton, mais elle retourne undefined.
Si je remplace if par unless, cela semble fonctionner correctement. Toute idée sur la cause du problème serait la bienvenue.
<script type="text/x-handlebars" data-template-name="/connectors/below-static/custom-login">
{{#unless showLoginButton}}
<div class="custom-login-content">
<h1>test</h1>
</div>
{{/unless}}
</script>

