Hola, ¿puede alguien ayudar con una solución accesible? Me gustaría colocar una imagen en mi página de bienvenida dentro del div con clase .contents.clearfix.body-page, debajo del texto de bienvenida pero antes de los botones inferiores. ¡Gracias!
Por el momento, solo puedes agregar contenido encima del texto… pero acabo de publicar una actualización que te permitirá agregar contenido debajo, ya que parece algo razonable de permitir. (FEATURE: Add below-static plugin outlet · discourse/discourse@e4ebc30 · GitHub).
Si actualizas Discourse en unas pocas horas (a través de yoursite.com/admin/upgrade), deberías recibir ese cambio y poder agregar contenido donde lo necesites.
Así es como lo haces. En tu tema, necesitarás agregar esto a tu archivo header.html:
<script type="text/x-handlebars" data-template-name="/connectors/below-static/custom-login">
{{#if showLoginButton}}
<div class="custom-login-content">
<!-- Tu HTML personalizado aquí -->
</div>
{{/if}}
</script>
Ten en cuenta que esta plantilla se utiliza en varios lugares (página de preguntas frecuentes, página de información, etc.), por lo que si solo quieres que tu contenido sea visible en la página de inicio de sesión de Bienvenida, debes mantener el envoltorio {{#if showLoginButton}} {{/if}} allí.
Puedes aprender más sobre el uso de salidas de complementos para agregar contenido a nuestras plantillas Handlebars aquí: Developing Discourse Themes & Theme Components
Hola Kris, estoy usando una instancia local de Discourse en Docker para estos cambios de diseño antes de aplicarlos al foro en vivo, pero no puedo acceder a una página llamada ‘example.com/admin/upgrade’ porque esa página no existe. Tampoco existe en nuestro sitio en vivo. ¿Estoy haciendo algo mal o hay otro método de actualización? Tampoco veo ninguna forma de actualizar desde admin/dashboard en el sitio en vivo.
Hola de nuevo, Kris. La página que mencionas arriba no está disponible en mi Discourse de prueba en Docker ni en mi Discourse en vivo. ¿Puedes ayudarme?
Saludos
¿Estás ejecutándote en una subcarpeta? ¿Cómo se instalaron estas instancias?
Cada instancia de Discourse debe tener una URL de /admin/upgrade, pero si no eres administrador, no podrás acceder a ella.
Hola Stephen,
Soy administrador y moderador de nivel de confianza 4 en ambas instancias.
La instancia local se instaló usando Docker en el directorio: Users/my-local-user-account(admin)/documents/discourse-test. Necesito actualizar Discourse aquí primero para poder construir la página de prueba de inicio de sesión.
No estoy seguro de cómo se instaló el sitio en vivo (es anterior a mi llegada), pero se puede encontrar en https://lifeevents.digital.gov.au
Lo siento, ¿eres administrador y TL4?
¿Está habilitado docker-manager en tu app.yml como plugin?
¿Estás seguro de que la instalación local no es una instalación de desarrollo?
sí, admin y TL4 en ambos
no hay plugins instalados en la instancia local
no estoy seguro sobre la instalación en desarrollo - se hizo así: # Ejecutar Discourse localmente para pruebas
La forma más rápida es usar Docker.
Paso 1: Instalar Docker
Puedes instalar Docker directamente desde el sitio web.
Puedes instalarlo desde aquí: Mac | Docker Docs
Verificar si se descargó correctamente
Para ver si Docker se descargó correctamente, puedes escribir docker -v en tu terminal y te indicará qué versión estás ejecutando.
Paso 2: Crear carpeta de Discourse
Recomiendo crear una carpeta en tu Documentos o donde prefieras. Usa lo siguiente para hacerlo.
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
Paso 3: Actualizar el archivo /etc/hosts
Necesitamos agregar la siguiente línea de texto al final del archivo /etc/hosts.
127.0.0.1 www.example.com
Primero abre el archivo usando el editor nano; se te pedirá tu contraseña.
sudo nano /etc/hosts
Luego agrega este texto al final del archivo: 127.0.0.1 www.example.com
Para guardar esta configuración, presiona ctrl+x, luego y y finalmente la tecla enter.
Paso 4: Abrir localmente
Ahora deberías poder abrir un navegador e ir a www.example.com para una instancia de prueba de Discourse.
Nombre de usuario: user
Contraseña: bitnami123
Comandos útiles para Docker
Detener Discourse (asegúrate de estar en el directorio ~/Documents/discourse-test):
docker-compose stop
Iniciar Discourse (asegúrate de estar en el directorio ~/Documents/discourse-test):
docker-compose up -d
Eliminar contenedores (asegúrate de estar en el directorio ~/Documents/discourse-test):
docker-compose down -v
Eliminar imágenes (los contenedores deben eliminarse primero):
docker rmi $(docker images -q)
Ok, así que estás utilizando la instalación de Bitnami, que es un paquete de terceros. Lamentamos no poder ofrecer soporte para ello aquí. Estoy etiquetando este tema como unsupported-install.
Las únicas instalaciones compatibles son la instalación estándar oficial o, para desarrolladores que ejecutan localmente, la dev-install.
Si necesitas ayuda con esa instalación, deberás contactar a Bitnami, o bien realizar una copia de seguridad y restaurarla en una instalación oficialmente compatible.
Vale, así que esa es la instalación local… Investigaré una instalación estándar. Estoy de acuerdo en que la instalación no es estándar.
En cuanto al sitio en vivo, ¿la página de administración/actualización tampoco está disponible en el sitio en vivo? No calificaría esto como una instalación no compatible, ya que la consulta abarcaba ambas instancias.
Entonces, es posible que también sea Bitnami, y lo mismo se aplicará allí. Si no lo es, significa que docker-manager ha sido deshabilitado, lo cual también es realmente necesario. Te dejo a ti investigar esa instalación; siempre puedes actualizarnos más adelante.
Tus problemas ilustran por qué no podemos ofrecer soporte para paquetes de terceros. Si no se comportan como se espera y carecen de funciones importantes como el actualizador web, el mantenedor del paquete debe ser quien proporcione el soporte.
Honestamente, no hay realmente buenas razones para usar ese paquete. Casi siempre estarás mejor utilizando la instalación oficial.
Entiendo tu frustración con los paquetes de terceros, pero solo soy un diseñador que busca terminar algo y esa fue la opción que me ofreció el desarrollador, con quien he tenido acceso limitado; no soy desarrollador.
Investigaré la instancia en vivo de Discourse y responderé más tarde. Gracias por tu ayuda y disculpa por haber confundido la solicitud al agrupar la instalación de instancias en un solo hilo.
No es un problema ni una frustración para nosotros, pero entiendo que podría confundir o frustrar a los usuarios que buscan ayuda.
Ofrecemos mucha asistencia gratuita aquí, por lo que debemos hacer algo para mantener el alcance de dicha asistencia razonablemente enfocado. Hay personas muy creativas que hacen cosas
increíbles
con Discourse, y ayudar a facilitar eso puede ser muy gratificante. Tener que dar soporte a imágenes no oficiales aumentaría exponencialmente la carga de dicho soporte, perjudicando todo lo demás.
¡Esto es genial! Si quisiera agregar contenido a la izquierda o a la derecha del div del texto de inicio de sesión, ¿significaría que se necesita crear un nuevo plugin-outlet o es mejor lograrlo agregando atributos CSS?
En segundo lugar, asumo que esto también es posible agregarlo en header.html de un componente de tema, pero solo quería verificarlo.
¡Gracias!
He estado intentando que esta solución funcione, pero por alguna razón, showLoginButton nunca se considera verdadero. Mi sitio de prueba está configurado como privado y, cuando accedo a /login, el botón aparece en la página. Intenté registrar el valor de showLoginButton y devuelve undefined.
Si cambio if por unless, parece funcionar bien. Agradecería cualquier idea sobre cuál podría ser el problema.
<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>

