Впровадження фрагментів URL у пагінацію Laravel

Перекладено ШІ
Оригінал: Laravel News
Оновлено: 20 лютого, 2025
Ви знали, що Laravel має потужний метод fragment(), який дозволяє додавати фрагменти URL до посилань на пагінацію? Дізнайтеся, як цей функціонал може покращити навігацію на вашій сторінці, особливо коли йдеться про обробку кількох секцій контенту

Система пагінації в Laravel має потужний метод fragment(), який дозволяє додавати фрагменти URL до посилань пагінації. Ця функція виявляється особливо корисною, коли потрібно направити користувачів до конкретних розділів вашої сторінки під час навігації.

Метод fragment() безперешкодно інтегрується в систему пагінації Laravel:

$users = User::paginate(15)->fragment('users');

Коли пагінаційні посилання будуть згенеровані, вони автоматично включатимуть '#users' у свої URL, що дозволяє направляти користувачів до відповідного розділу вашої сторінки.

Метод fragment() стає особливо цінним при обробці кількох секцій контенту або складних навігаційних структур:

class ContentController extends Controller
{
    public function index(Request $request)
    {
        $activeSection = $request->section ?? 'recent';

        return View::make('content.index', [
            'posts' => Post::latest()
                ->paginate(10)
                ->fragment("section-{$activeSection}"),
            'activeSection' => $activeSection
        ]);
    }
}
// views/content/index.blade.php
<div id="section-{{ $activeSection }}">
    @foreach ($posts as $post)
        <!-- Контент поста -->
    @endforeach
    {{ $posts->links() }}
</div>

Laravel автоматично обробляє додавання фрагментів до ваших пагінаційних посилань, генеруючи URL на зразок /posts?page=2#section-recent. Такий підхід зберігає контекст і позицію прокрутки, коли користувачі переходять через пагінований контент