EmberJS,WordPress REST API以及类别和标签

时间:2016-05-27 15:53:51

标签: wordpress ember.js

我开始玩ember并尝试将WordPress REST API和EmberJS结合起来。我正在坚持这个问题:我想让ember向我展示某个类别或标签中的所有WordPress帖子。

我的路线显示了类别模型routes/categories.js中的所有类别models/category.js。 现在我需要为每个类别routes/categories/category.js设置一条路线,向我显示某个类别中的所有帖子。

postcategory是两个模型,我需要合并,但我不知道如何......

routes/categories.js我有类似的东西

export default Ember.Route.extend({
  model() {
    return Ember.RSVP.hash({
      categories: this.store.findAll('category'),
      posts: this.store.findAll('post')
    });
  },
  setupController(controller, model) {
    this._super(...arguments);
    Ember.set(controller, 'categories', model.categories);
    Ember.set(controller, 'posts', model.posts);
  }
});

templates/categories.hbs这个

<p>List of all categories in the model</p>
<ul>
    {{#each categories as |category|}}
        <li>{{link-to category.name 'categories.category' category}}</li>
    {{/each}}
</ul>

现在我想查看此类别中的所有帖子 routes/categories/category.js

export default Ember.Route.extend({
    model(params) {

        ...???...

    }
});

并在templates/categories/category.hbs

<h3>List all posts from the selected category</h3>
<ul>
    {{#each posts as |post|}}
        <li>{{link-to post.title 'posts.post' post}}</li>
    {{/each}}
</ul>

有人可以帮忙吗?

1 个答案:

答案 0 :(得分:0)

您需要做的是查询按类别过滤的所有帖子。首先使用您需要的数据找到端点。

要使用WP-API按类别过滤帖子,您可以执行以下操作:

example.com/wp-json/wp/v2/posts?per_page=99&filter[category_name=my-category]

要将类别传递给路线的模型,我们需要一个动态路线。例如:

this.route('category', {path: 'categories/:slug'});

...将变成example.com/categories/food。相应的余烬数据方法是:

model(params) { return this.store.query('post', {per_page: 99, filter: {category_name: params.slug}}); }

我在这里做了一个完整的例子:http://ember-wordpress.surge.sh/

(记录的)源代码在{/ 3}}中,位于tests / dummy文件夹中。