He creado un plugin personalizado para incluir campos adicionales para grupos. Pero solo se aplican a grupos con el nombre “chapter” en él. Por lo tanto, no tiene sentido tenerlos en grupos para otros propósitos. ¿Hay alguna forma de crear una condición que verifique, por ejemplo, if chapter in group.name; then chapter = true?
Tengo lo siguiente:
Quiero ocultar el grupo de control en la parte superior si el nombre del grupo no contiene la palabra chapter. Parece que ya uso algo de Jinja2 del ejemplo que utilicé. Si eso es similar a otros Jinja2, entonces ciertamente puedo crear una condición allí. Pero entonces necesito saber algunas cosas.
Si Jinja2 está (completamente) disponible, ¿cómo puedo acceder a la variable del nombre del grupo para crear la condición?
Si Jinja2 no está (completamente) disponible, ¿cómo puedo crear esta condición entonces? Probablemente algún otro JavaScript debería establecer un booleano, supongo. Pero no conozco la estructura de estas variables de grupo y la lógica de JavaScript, ¡cualquier ejemplo sería genial!
Oh espera… ahora veo de repente algunos métodos para probar. Si Jinja2 funciona aquí, entonces efectivamente en g.json el nombre del grupo es visible y se puede usar para una condición…
Y no, eso no funciona. Y no es Jinja2, son cosas específicas de Handlebars (¿pero supongo que contains no es una función nativa?).
Pero eso no funciona, obtengo un montón de errores. Probablemente no estoy usando la búsqueda de variables correcta. Aunque reemplazar group.name con simplemente "chapter_netherlands" también falla.
Error occurred:
- While rendering:
-top-level
application
discourse-root
group
group.manage
group.manage.profile
groups-form-profile-fields
plugin-outlet
plugin-connector
Uncaught Error: Attempted to resolve `contains`, which was expected to be a component, but nothing was found.
Pero realmente no veo un patrón en la estructura de esta carpeta. He creado mi propia función en discourse-group-custom-fields/assets/javascripts/discourse/app/helpers/contains.js, pero cuando intento usarla en discourse-group-custom-fields/assets/javascripts/discourse/connectors/group-edit/field-container.hbs obtengo el error Uncaught Error: Attempted to resolve "contains", which was expected to be a component, but nothing was found.. Así que, obviamente, esta no es una ruta donde Discourse esté buscando, o estoy haciendo algo mal.