Maison > cadre php > Laravel > le corps du texte

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

藏色散人
Libérer: 2020-04-14 13:38:05
avant
3585 Les gens l'ont consulté

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
Copier après la connexion

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
Copier après la connexion

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()) !!}
Copier après la connexion

. 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
Copier après la connexion

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
Copier après la connexion

Étape 2

S'inscrire,

// config/app.php
'providers' => [
    ...
    'Spatie\PaginateRoute\PaginateRouteServiceProvider',
];
'aliases' => [
    ...
    'PaginateRoute' => 'Spatie\PaginateRoute\PaginateRouteFacade',
];
Copier après la connexion

Étape 3

// app/Providers/RouteServiceProvider.php
use PaginateRoute;
// ...
public function boot(Router $router)
{
    PaginateRoute::registerMacros();
    parent::boot($router);
}
Copier après la connexion

Utiliser

Dans le routage

// app/Http/routes.php
// Generates /users & /users/page/{page}
Route::paginate('users', 'UsersController@index');
Copier après la connexion

cela générera deux routes

/users
/users/page/{page}
Copier après la connexion

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
Copier après la connexion

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!

Étiquettes associées:
source:segmentfault.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal