Maison  >  Article  >  cadre php  >  Un bref exposé sur le référencement de laravel paging

Un bref exposé sur le référencement de laravel paging

藏色散人
藏色散人avant
2020-04-14 13:38:053502parcourir

La pagination de Laravel est très simple et facile à utiliser, mais il y a une chose qui n'est pas très idéale

Le lien généré par la pagination par défaut est

users?page=1

Ce formulaire n'est pas très. convivial pour le SEO (théorie) Ci-dessus)

Ensuite, nous aurons peut-être besoin de liens de pagination sous forme de

users/page/1

Alors comment faire ?

J'ai maintenant deux façons de l'implémenter

La première a été utilisée dans mon projet précédent, en régularisant directement

En régularisant directement dans blade Replace

{!! preg_replace("~(/?)\?page=~", '/page/', $users->render()) !!}

. Cette regex devrait pouvoir être optimisée, et j'espère que vous pourrez me donner quelques conseils.

Bien sûr, les itinéraires correspondants doivent également être configurés en conséquence. C'est très simple et ne sera pas développé.

L'effet de cette méthode est obtenu, mais elle n'a vraiment pas le style de laravel

Quel est le style de laravel ? composer, package

Présentons donc la deuxième méthode

laravel-paginateroute

L'utilisation est très simple, ce qui suit est extrait du fichier readme

La première étape

// 要注意对应版本,可到https://packagist.org 方便查看
composer require spatie/laravel-paginateroute

Étape 2

S'inscrire,

// config/app.php
'providers' => [
    ...
    'Spatie\PaginateRoute\PaginateRouteServiceProvider',
];
'aliases' => [
    ...
    'PaginateRoute' => 'Spatie\PaginateRoute\PaginateRouteFacade',
];

Étape 3

// app/Providers/RouteServiceProvider.php
use PaginateRoute;
// ...
public function boot(Router $router)
{
    PaginateRoute::registerMacros();
    parent::boot($router);
}

Utiliser

Dans le routage

// app/Http/routes.php
// Generates /users & /users/page/{page}
Route::paginate('users', 'UsersController@index');

cela générera deux routes

/users
/users/page/{page}

puis l'écrira normalement dans le contrôleur selon la pagination de laravel

C'est utilisé comme ceci dans la page. Il s'agit de la méthode d'écriture correspondante de simplePaginate

@if(PaginateRoute::hasPreviousPage())
  <a href="{{ PaginateRoute::previousPageUrl() }}">Previous</a>
@endif
@if(PaginateRoute::hasNextPage($users))
  <a href="{{ PaginateRoute::nextPageUrl($users) }}">Next</a>
@endif

Recommandée : "tutoriel laravel"

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer