分页不显示下一页结果

时间:2017-04-05 14:50:01

标签: laravel laravel-5 twig octobercms

我使用基于OctoberCMSLaravelTwig

十月有Scope Pagination功能,但它缺少我需要的功能,所以我必须使用Laravel来返回结果和分页。

我有一个带有类别和图像数据库记录的厨房。

我正在尝试从网址获取:category标识符nature以过滤回数据库结果。

问题

代码返回自然图像并显示分页。但是当我点击页码时,网址会更改为?page=2/2,但页面按钮会保留在1上,并且记录/图片不会更改。

就像下一页的php重置一样,再次显示第1页结果。

enter image description here

OctoberCMS

URL
localhost/gallery/nature

标识符
/gallery/:category?latest/:page?

Laravel

获取所有类别的图像记录。

我将此代码放在我的页面gallery.htm

$category = $this->param('category');
$this['scopeCategory'] = Gallery::where('category', $category)->paginate(5);

枝条

使用分页显示图像。

列出图片

{% for image in scopeCategory %}
    <img src="example.com/{{ image.name }}.jpg">
{% endfor %}

简单分页

<< 1 | 2 | 3 | 4 >>

{{ scopeCategory.render|raw }}

自定义分页

← Prev 2 | 3 | 4 | 5 Next →

{% if scopeCategory.LastPage > 1 %}
    <ul class="pagination">
        {% if scopeCategory.CurrentPage > 1 %}
            <li><a href="{{ this.page.baseFileName|page({ (pageParam): (scopeCategory.CurrentPage-1) }) }}">← Prev</a></li>
        {% endif %}
        {% for page in 1..scopeCategory.LastPage %}
            <li class="{{ scopeCategory.CurrentPage == page ? 'active' : null }}">
                <a href="{{ this.page.baseFileName|page({ (pageParam): page }) }}">{{ page }}</a>
            </li>
        {% endfor %}
        {% if scopeCategory.LastPage > scopeCategory.CurrentPage %}
            <li><a href="{{ this.page.baseFileName|page({ (pageParam): (scopeCategory.CurrentPage+1) }) }}">Next →</a></li>
        {% endif %}
    </ul>
{% endif %}

1 个答案:

答案 0 :(得分:0)

您可以将页码直接传递给分页器,方法是将其指定为第二个参数(see docs)。以下代码应该可以解决您的问题。

$page= $this->param('page');
$category = $this->param('category');
$this['scopeCategory'] = Gallery::where('category', $category)->paginate(5, $page);