Criei um plugin personalizado para incluir alguns campos extras para grupos. Mas eles só se aplicam a grupos com o nome “chapter” incluído. Portanto, não faz sentido tê-los em grupos para outros fins. Existe alguma maneira de criar uma condição que verifique, por exemplo, if chapter in group.name; then chapter = true?
Eu tenho o seguinte:
Quero ocultar o grupo de controle no topo se o nome do grupo não tiver a palavra chapter nele. Eu pareço já usar algumas coisas do Jinja2 do exemplo que usei. Se isso for parecido com outros Jinja2, então certamente posso criar tal condição lá. Mas então preciso saber algumas coisas.
Se o Jinja2 estiver (totalmente) disponível, como posso acessar a variável do nome do grupo para criar a condição?
Se o Jinja2 não estiver (totalmente) disponível, como posso criar essa condição então? Provavelmente algum outro JavaScript deveria definir um booleano, suponho. Mas a estrutura dessas variáveis de grupo e a lógica JavaScript não são conhecidas por mim, quaisquer exemplos seriam ótimos!
Ah, espere… Agora vejo alguns métodos para testar. Se Jinja2 funcionar aqui, então de fato em g.json o nome do grupo é visível e pode ser usado para uma condição…
E não, isso não funciona. E não é Jinja2, são coisas específicas do Handlebars (mas suponho que contains não seja uma função nativa?).
Mas isso não funciona, recebo um monte de erros. Provavelmente não estou usando a consulta de variável correta. Embora substituir group.name por simplesmente "chapter_netherlands" também falhe.
Ocorreu um erro:
- Durante a renderização:
-nível superior
aplicativo
discourse-root
grupo
grupo.gerenciar
grupo.gerenciar.perfil
campos-de-perfil-formulário-grupos
saída-de-plugin
conector-de-plugin
Erro não capturado: Tentativa de resolver `contains`, que era esperado ser um componente, mas nada foi encontrado.
Mas não vejo realmente um padrão nesta estrutura de pastas. Criei minha própria função em discourse-group-custom-fields/assets/javascripts/discourse/app/helpers/contains.js, mas quando tento usá-la em discourse-group-custom-fields/assets/javascripts/discourse/connectors/group-edit/field-container.hbs recebo o erro Uncaught Error: Attempted to resolve "contains", which was expected to be a component, but nothing was found.. Então, obviamente, este não é um caminho onde o Discourse está procurando, ou estou fazendo algo errado.