La coutume de la pagination vue dans Laravel 5
Laravel 4.2 a la possibilité de spécifier un affichage personnalisé dans app/config/view.php
tels que:
/*
|--------------------------------------------------------------------------
| Pagination View
|--------------------------------------------------------------------------
|
| This view will be used to render the pagination link output, and can
| be easily customized here to show any view you like. A clean view
| compatible with Twitter's Bootstrap is given to you by default.
|
*/
'pagination' => 'pagination_slider-alt'
Cela a disparu dans Laravel 5 au moins en ce qui concerne view.php
.
Est-il un moyen de reproduire ce comportement dans Laravel 5?
- Avez-vous jamais trouver comment accomplir cela?
- Pas encore de. J'ai été en mesure de répliquer à mon habitude pagination vue de L4 en s'appuyant uniquement sur le css. Cela a fonctionné dans mon cas.
- S'il vous plaît, voir si ma réponse vous aide.
Vous devez vous connecter pour publier un commentaire.
Dans Laravel 5.3+ utilisation
Dans Laravel 5.0 - 5.2 au lieu de
utilisation
views/pagination/default.blade.php
Que c'est.
Si vous avez beaucoup de pages, l'utilisation de ce modèle:
views/pagination/limit_links.blade.php
?arg=...
d'avoir des arguments dans les liens. avant le @include ou après ?Pour Laravel 5.3 (et peut-être dans 5 autres.Versions X) de mettre le custom de la pagination du code de vous afficher le dossier.
puis appeler cette pagination fichier de la vue à partir de la vue principale de fichier comme
Mise à jour de la pagination/default.blade.php cependant, vous voulez
Dans Laravel 5 personnalisé la pagination est basée sur des présentateurs (classes) au lieu de vues.
En supposant que dans votre acheminé code que vous avez
En L4-vous utilisé pour faire quelque chose comme ceci à votre point de vue:
En L5-vous faire à la place:
La
render()
méthode accepte unIlluminate\Contracts\Pagination\Presenter
instance. Vous pouvez créer une classe personnalisée qui met en œuvre ce contrat et de le passer à larender()
méthode. Notez quePresenter
est un interface, pas une classe, donc vous devez mettre en œuvre, pas étendre il. C'est pourquoi vous obtenez l'erreur.Sinon, vous pouvez étendre la Laravel paginator (pour utiliser sa logique de pagination), puis passer l'existant de la pagination de l'instance (
$users->...
) pour l'extension de constructeur de classe. C'est en effet ce que j'ai fait pour la création de mon custom Zurb Foundation présentateur basé sur le Bootstrap présentateur fournis par Laravel. Elle utilise tous les Laravel logique de la pagination et remplace uniquement les méthodes de rendu.Avec mon custom presenter mon point de vue, ressemble à ceci:
Et personnalisé de la pagination d'un présentateur:
Alors que dans Laravel 4.2 je voudrais utiliser:
Dans Laravel 5 vous pouvez reproduire le ci-dessus avec les éléments suivants:
Maintenant dans la vue,
$object
aura la pagination des méthodes disponibles, tels quecurrentPage()
,lastPage()
,perPage()
, etc.Vous pouvez consulter toutes les méthodes disponibles au http://laravel.com/docs/5.0/pagination
Laravel 5 est livré avec un Bootstrap 4 paginator si quelqu'un en a besoin.
D'abord créer un nouveau fournisseur de services.
Dans le
register
méthode passer une fermeture à Laravel est paginator classe qui crée et retourne le nouveau présentateur.Enregistrer le nouveau fournisseur dans
config/app.php
J'ai trouvé cet exemple à Bootstrap 4 Pagination Avec Laravel
Paginator::presenter(function($paginator) { return new BootstrapFourPresenter($paginator); });
avecPaginator::$defaultView = 'pagination::bootstrap-4'; Paginator::$defaultSimpleView = 'pagination::bootstrap-4';
Dans
5.5
links()
est remplacé parrender()
qui semble fonctionner de la même façon. [Officiel DOC]remplacer
avec
Commandes suivantes vont générer de la Pagination modèle dans
resources/views/vendor/pagination
Dans un fichier de vue (lame de fichiers), vous pouvez utiliser ceux du modèle comme suit ex:
{{ $replies->render("pagination::default") }}
{{ $replies->render("pagination::bootstrap-4") }}
{{ $replies->render("pagination::simple-bootstrap-4") }}
{{ $replies->render("pagination::semantic-ui") }}
Peut-être que c'est trop tard, mais je voudrais partager une autre coutume, la pagination modèle que j'ai faite qui crée un premier/suivant et dernier/liens précédent. Il cache également les liens lorsque l'utilisateur est dans la première/dernière page déjà.
(Facultatif) Vous pouvez également déterminer l'intervalle de liens (le nombre de liens avant et après la page courante)
Exemple d'utilisation:
ou
Voici l'essentiel: https://gist.github.com/carloscarucce/33f6082d009c20f77499252b89c35dea
Et le code:
Un rapide JS correctif pour Bootstrap 4 de la pagination dans Laravel 5+
Il suffit de placer le script ci-dessous dans votre page:
Avantages: permet d'économiser de l'UC du serveur, n'a pas besoin des ajustements dans votre application.
Laravel 5.2 utilise des présentateurs pour cela. Vous pouvez créer des présentateurs ou de l'utilisation prédéfinis. Laravel 5.2 utilise le
BootstrapThreePrensenter
out-of-the-box, mais il est facile d'utiliser leBootstrapFroutPresenter
ou de toute autre coutume présentateurs pour cette question.Dans votre lame de modèle, vous pouvez utiliser la formule suivante:
Pour la création de présentateurs je recommande de regarder Codecourse vidéo à ce sujet.
si vous voulez embellir l'apparence de votre texte, j'utilise la classe de bootstrap pour le rendre plus simple et facile
Voici une pour Laravel 5, Bootstrap 4 et sans Lame de syntaxe (pour ceux qui trouvent qu'il infiniment plus difficile à lire).
À utiliser, au lieu de:
Utilisation:
Où
partials/pagination
est votre lame modèle de fichier avec le contenu ci-dessous collé dans.à côté de la réponse de @MantasD je tiens à apporter un service complet personnalisé Laravel la pagination. En supposant à l'aide de Laravel 5.2 et suivants inclus vue:
Caractéristiques
default.blade.php
PaginationStartEnd fonction
Vous pouvez utiliser et personnaliser ce plus que vous le souhaitez.
Remarque: $pager->la pagination est variable de 0 a déclaré dans l'action du controller
$pager->paging
à0
. Je ne comprenais pas. J'ai euUndefined property: Illuminate\Pagination\LengthAwarePaginator::$paging
d'erreur après avoir essayé votre code.A non well formed numeric value encountered
à la lignereturn array('start' => number_format($pageStart), 'end' => number_format($pageEnd));
dansPaginationStartEnd
fonction.number_format
appels de fonction temporaire . toutes les choses fonctionnaient bien, mais est-il possible de limiter les liens qui sont affichés totalement?Salut voici mon code pour la pagination: Utilisation de la lame
@include('pagination.par défaut', ['paginator' => $users])
Views/pagination/default.blade.php
Grâce à MantisD post, pour Bootstrap 4 cela a fonctionné très bien.
Si vous souhaitez modifier le numéro de page dans l'url au lieu d'obtenir des données comme /pageNo. ex:
/2. vous pouvez utiliser jquery pour modifier des url . J'ai des données dans la méthode get à l'url.
Dans Laravel 5.4
La façon la plus simple que j'ai trouvé, en les exportant vers votre
resources/views/vendor
répertoire à l'aide de lavendor:publish
commandephp artisan vendor:publish --tag=laravel-pagination
et que d'aller à
resources\views\vendor\pagination\default.blade.php
et de faire de votre personnalisation là.
Documentation complète sur ce qui peut être trouvé ici
- Je utiliser ce code avec k7 thème et utiliser ce code avec leur construit dans la classe.
Vous pouvez également utiliser ce code avec votre thème et votre classe que vous en avez besoin..
essayer de le faire.
Voici une solution facile de personnaliser Laravel la pagination à la fois côté serveur et client code est inclus.
En supposant à l'aide de Laravel 5.2 et suivants inclus vue:
@include('pagination.par défaut', ['pager' => $data])
Caractéristiques
default.blade.php
Côté Serveur Contrôleur De Fonction