NodeBB如何显示一条post

这里主要写一条post从数据库拿出到显示在页面上的过程以及在看源码的过程中记录的一些知识点。

数据走向图

NodeBB如何显示一条post_第1张图片
posts数据从数据库到页面展示.jpg
  • 首先还是去找了之前的data,

    • ajaxify.loadData(url,function(err,data))

    • 当我们点击category的时候,data存储跳转到的页面所需的所有信息,即该分类下的所有topic的信息。

    • 当我们点击topic的时候,data存储该topic下所有的posts信息。

  • 点击topic数据怎么处理的

    • /src/database/hash.js中有函数getObjects()数据库获取posts数组。

    • /src/posts.js中有函数getPostsByPids()在这里调用了getObjects()函数。将posts数组嵌套在对象posts属性中,还加上了uid属性,表示当前点击topic的用户标识。

    • /src/topics.js中有函数getMainPostsAndRepies()调用了getPostsByPids()以及/src/topic/posts.js目录下的topics.addPostData();将用户信息整合嵌套在posts中返回。

    • /src/topics.js中有函数getTopicWithPosts(),调用了
      getMainPostsAndRepies()

    • /src/controllers/topic.js中有函数topicsController.get(),调用了
      getTopicWithPosts(),得到数据之后,res.render('topic',data);将数据添加到模板上,然后渲染到页面上。

你可能感兴趣的:(NodeBB如何显示一条post)