Daha önce yapmadığım için tam kestiremiyorum ama Illuminate\Pagination\PaginationServiceProvider.php içerisine bakarsanız register yöntemi içerisinde sayfa değişkeninin şu şekilde belirlendiğini ve alındığını görürsünüz:
Paginator::currentPageResolver(function ($pageName = 'page') {
$page = $this->app['request']->input($pageName); // bu kısım özellikle
if (filter_var($page, FILTER_VALIDATE_INT) !== false && (int) $page >= 1) {
return $page;
}
return 1;
});
bunu şu şekilde değiştirsek:
Paginator::currentPageResolver(function ($pageName = 'page') {
$totalSegments = count($this->app['request']->segments());
$page = $this->app['request']->segment(totalSegments); // son segment
if($this->app['request']->has($pageName)) {
$page = $this->app['request']->input($pageName);
}
if (filter_var($page, FILTER_VALIDATE_INT) !== false && (int) $page >= 1) {
return $page;
}
return 1;
});
Bunu kullanmak için paginate() kullanmadan yapmak lazım. O yüzden AppServiceProvider::register() içerisine koyup bir deneyebilirsiniz.
Dediğim gibi denemedim, teorik olarak yazıyorum. Tabi sayfalamayı oluşturan kısmı da değiştirmeniz gerekecek, kendi paginatorünüzü oluşturacak gibisiniz...