在其他页面显示 Discourse 变量

你好。
我希望在首页上结合另一个插件,从 /about 页面显示一些站点统计数据。

例如,我已在某个插件的 .hbs 文件中添加了 Members: {{number model.stats.user_count}},但重新构建 Discourse 后,它只显示 0。实际上我的用户数大于 0。:slight_smile:

有任何想法或提示吗?

It’s hard to say without knowing more about the plugin. It might be easier to get that data from a page that has it already.

Basically, I’m writing a plugin to display board statistics on the bottom of the forum, similar to what vBulletin does.

So far, I have this:
SiteStats

In my plugin directory, my /assets/javascripts/discourse/components/site-stats.hbs is the following:

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

I grabbed the {{number model.stats.topic_count}} from the about.hbs file inside the Discourse GitHub repository.

You have two ways to do this.

Just check which (Rails) controller is being called on the /about page to fetch the data you need.

In your ember route file’s model method, you can call that controller via ajax and fetch the required data.

Otherwise,

If you’ve written your own controller, then create a new method and copy the logic from the controller you found to your new controller and (maybe) filter the data you need if that’s required.

this model variable is what is returned by the model method of the route in question.

I think you should go through this guide to get a holistic understanding of how things work in discourse.

Alright. I’ll check out that Plugin guide and see if I can make any additional progress.

So far, I have https://github.com/NCC-Gnisha/discourse-site-statistics