4

在显示影片详情的时候,我们采用id作为链接到详情页面。这次我们将采用slug的方式链接到详情页面。另外我们将对分页进行讲解。

添加slug字段

首先打开Builder,选择原来创建的Movies插件。

clipboard.png

添加一个新的列【slug】

clipboard.png

修改表单

打开Models,选择Forms中的fields

clipboard.png

修改记录

点击【视频】菜单

clipboard.png

修改Movies页面

打开内容管理系统,打开Movies single

clipboard.png

clipboard.png

打开Movies

clipboard.png

保存后刷新页面:
可以发现影片的链接地址变成诸如下面的样式
http://octobermovie.dev.raise...
不再是以id为参数的了。

创建分页

打开内容管理系统,打开Movies页面,设置每页大小为1.

clipboard.png

刷新页面,会出现分页导航栏,但是,如果点击页码则不会有任何变化。

clipboard.png

因此,我们需要再做些设置

clipboard.png

刷新页面,则会出现如下提示,这是因为我们缺少了参数page,而page是必须的参数,不能省略,所以才出现如下错误。

clipboard.png

下面我们试试:http://octobermovie.dev.raise...

clipboard.png

这样就验证了上述的解释。作为解决办法进行如下操作,在page后加?,表示可选参数

clipboard.png

分页代码在:themesraiseinfopagesmovies.htm

{% if records.lastPage > 1 %}
    <ul class="pagination">
        {% if records.currentPage > 1 %}
            <li><a href="{{ this.page.baseFileName|page({ (pageParam): (records.currentPage-1) }) }}">&larr; Prev</a></li>
        {% endif %}

        {% for page in 1..records.lastPage %}
            <li class="{{ records.currentPage == page ? 'active' : null }}">
                <a href="{{ this.page.baseFileName|page({ (pageParam): page }) }}">{{ page }}</a>
            </li>
        {% endfor %}

        {% if records.lastPage > records.currentPage %}
            <li><a href="{{ this.page.baseFileName|page({ (pageParam): (records.currentPage+1) }) }}">Next &rarr;</a></li>
        {% endif %}
    </ul>
{% endif %}

后山人
272 声望39 粉丝

这个是一个典型的,前后端分离的开发框架,而且很多前后端代码,都可以很好的生成,无需写代码,大大减少程序员编写代码的数量。提高效率,降低成本!