Heim > PHP-Framework > Laravel > Hauptteil

Ein kurzer Vortrag über Laravel Paging SEO

藏色散人
Freigeben: 2020-04-14 13:38:05
nach vorne
3584 Leute haben es durchsucht

Laravels Paging ist sehr einfach und benutzerfreundlich, aber eines ist nicht sehr ideal

Der durch die Standard-Paging-Funktion generierte Link ist

users?page=1
Nach dem Login kopieren

Dieses Formular ist nicht sehr freundlich zu SEO (Theorie oben)

Dann benötigen wir möglicherweise Paginierungslinks in der Form

users/page/1
Nach dem Login kopieren

Also, wie macht man das?

Ich habe jetzt zwei Möglichkeiten, es zu implementieren

Die erste wurde in meinem vorherigen Projekt verwendet, direkte Regularisierung

Direkte Regularisierung im Blade-Replace

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

Dieser reguläre Ausdruck sollte Raum für Optimierungen bieten, und ich hoffe, Sie können mir einige Ratschläge geben.

Natürlich müssen auch die entsprechenden Routen entsprechend konfiguriert werden. Es ist sehr einfach, daher werde ich nicht näher darauf eingehen.

Der Effekt dieser Methode wird erreicht, aber sie hat wirklich nicht den Stil von Laravel.

Was ist der Stil von Laravel? Composer, Paket

Also stellen wir die zweite Methode vor

laravel-paginateroute
Nach dem Login kopieren

Die Verwendung ist sehr einfach, das Folgende ist ein Auszug aus der Readme

Der erste Schritt

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

Schritt 2

Registrieren,

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

Schritt 3

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

Verwenden

Im Routing

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

werden dadurch zwei Routen generiert

/users
/users/page/{page}
Nach dem Login kopieren

und dann entsprechend Laravels Paging normal in den Controller geschrieben

Das ist so Wird so auf der Seite verwendet. Dies ist die entsprechende Schreibmethode von simplePaginate

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

Empfohlen: „Laravel-Tutorial

Das obige ist der detaillierte Inhalt vonEin kurzer Vortrag über Laravel Paging SEO. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:segmentfault.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage