en Kooboo Logo 说明文档

列表详情页

 

本文我们将从零创建一个博客列表与详情页面。
 
步骤1:  内容
 
 
创建一个博客类型, 并新建两篇示例博客, 具体可以参考内容章节
 
 
步骤2: 组件
 
创建一个组件来展示博客列表, 这个组件的代码如下:
<script env="server">  
    var bloglist = k.content.blog.all();
</script> 
<div k-for="item in bloglist">
    <h2 k-content="item.title">Blog Title</h2>
    <p k-content="item.summary">Blog Summary</p>
</div>
 
步骤3: 页面
 
创建一个空白页面, 并将组件放进去,代码如下:
 
<html> 
<body>
   <view id="BlogList"></view>
</body> 
</html>
 
这样子你已经创建一个包含博客列表的页面。
 
如果你想使用布局来创建页面以便与其他页面共享布局, 示例布局代码如下: 
 
<html>
<body>
    <div k-placeholder="Main"> blog content </div>
</body> 
</html>
 
这样子在创建页面时, 你可以选择布局, 并且在配置页面, 选择相关的组件, 如下图:
 
 
 
步骤4: 详情页面
 
创建一个详情组件, 这个页面需要读取博客的详情, 需要一个参数, 这里我们选择内容里的UserKey, 示例代码如下:
 
<script env="server"> 
var blog = k.content.blog.get(k.request.UserKey);  
</script> 
<div>
    <h2 k-content="blog.title">Title</h2>
    <p k-content="blog.detail">blog details</p> 
</div>
 
同时创建一个页面, 将该组件放入
 
<html> 
<body>
    <view id="BlogDetail"></view>
</body> 
</html>
 
步骤5: 关联列表与详情页面
 
详情页面需要一个参数才能知道当前要读的是哪一篇博客,参数的传递在Kooboo里很多时候是可以自动化, 无须做任何事情的。
 
我们只要在列表的组件里加入一个链接,到相关的页面, 这样子我们的博客列表与详情页面功能就全部做完了。
 
最终的列表组件如下:
 
<script env="server">  
    var bloglist = k.content.blog.all();
</script> 
<div k-for="item in bloglist">
    <h2 k-content="item.title">Blog Title</h2>
    <p k-content="item.summary">Blog Summary</p>
    <a href="/DetailPage"> Read More ...</a>
</div>
 
生成的页面HTML代码如下:
 
<html> 
<body>    
<div>
    <h2>blog title 1</h2>
    <p>blog summary information 1</p>
    <a href="/DetailPage?UserKey=blog-title-1"> Read More ...</a>

    <h2>blog title 2</h2>
    <p>blog summary information 2</p>
    <a href="/DetailPage?UserKey=blog-title-2"> Read More ...</a>
</div>
</body> 
</html>