You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel 6分页实现求助:广告站点分页按钮无法切换页面

解决Laravel广告站点分页问题

你已经在控制器里用对了分页的核心逻辑,问题出在前端的分页按钮是硬编码的静态链接,没有和Laravel的分页实例绑定,所以点击后没法切换页面加载剩余广告。下面一步步帮你搞定:

1. 替换静态分页按钮为Laravel自动生成的分页链接

Laravel的分页实例自带links()方法,能自动生成带正确跳转逻辑的分页按钮,还会自动处理当前页码、禁用不可点击的按钮(比如第一页的「上一页」)。

把你模板里硬编码的分页代码:

<ul class="pagination pagination-sm pull-right">
    <li class="disabled"><a href="">«</a></li>
    <li class="active"><a href="#">1</a></li>
    <li><a href="#">2</a></li>
    <li><a href="#">3</a></li>
    <li><a href="#">4</a></li>
    <li><a href="#">»</a></li>
</ul>

替换成:

<div class="pull-right">
    {{ $annonces->links('pagination::bootstrap-4') }}
</div>

小提示:pagination::bootstrap-4是适配Bootstrap4的默认分页视图,如果你用的是Bootstrap3,可以换成pagination::bootstrap-3;直接写{{ $annonces->links() }}也能让Laravel自动匹配默认样式。

2. 确认控制器代码无需调整

你的控制器逻辑是完全正确的:

public function index() {
    $categories = Category::all();
    $annonces = Annonce::paginate(36);
    return view('annonces.index')->with([
        'categories' => $categories,
        'annonces' => $annonces,
    ]);
}

paginate(36)会自动识别URL中的page参数,返回对应页码的36条广告数据,不需要手动处理分页逻辑。

3. 自定义分页样式(可选)

如果默认分页样式和你的站点UI不匹配,可以发布Laravel的分页视图文件来修改:
运行Artisan命令:

php artisan vendor:publish --tag=laravel-pagination

这个命令会把分页视图文件放到resources/views/vendor/pagination目录下,你可以修改对应版本的视图文件(比如bootstrap-4.blade.php),调整class属性来匹配你站点的pagination pagination-sm样式。

做完这些修改后,点击分页按钮就能正常切换页面,加载第2、3页及后续的广告内容了。

内容的提问来源于stack exchange,提问作者Hajar Lamine

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.08 22:47:46