Exibindo variáveis do Discourse em outras páginas

Olá.
Gostaria de exibir algumas estatísticas do site na página inicial, a partir da página /about, em combinação com outro plugin.

Por exemplo, adicionei Membros: {{number model.stats.user_count}} ao arquivo .hbs de um plugin, mas ao reconstruir o Discourse, tudo o que aparece é 0. Tenho mais de 0 usuários. :slight_smile:

Alguma ideia ou sugestão?

É difícil dizer sem saber mais sobre o plugin. Pode ser mais fácil obter esses dados de uma página que já os tenha.

Basicamente, estou criando um plugin para exibir estatísticas do fórum na parte inferior, algo semelhante ao que o vBulletin faz.

Até agora, tenho o seguinte:
SiteStats

No meu diretório do plugin, o arquivo /assets/javascripts/discourse/components/site-stats.hbs está assim:

<div class="board-statistics-headrow">{{d-icon "far-chart-bar"}}  {{i18n 'about.stats'}}</div>
<div class="board-statistics-row">
  Tópicos: {{number model.stats.topic_count}}  Posts: {{number model.stats.post_count}}  Membros: {{number model.stats.user_count}}
</div>
</div>

Peguei o {{number model.stats.topic_count}} do arquivo about.hbs dentro do repositório do Discourse no GitHub.

Você tem duas maneiras de fazer isso.

Basta verificar qual controlador (Rails) está sendo chamado na página /about para buscar os dados necessários.

No método model do arquivo de rota do seu Ember, você pode chamar esse controlador via AJAX e buscar os dados requeridos.

Caso contrário,

Se você escreveu seu próprio controlador, crie um novo método, copie a lógica do controlador que você encontrou para o seu novo controlador e (talvez) filtre os dados que você precisa, se necessário.

essa variável de modelo é o que é retornado pelo método model da rota em questão.

Acho que você deve ler este guia para obter uma compreensão holística de como as coisas funcionam no Discourse.

Certo. Vou verificar o guia do Plugin e ver se consigo avançar um pouco mais.

Até agora, tenho https://github.com/NCC-Gnisha/discourse-site-statistics