Clicky

Skocz do zawartości


Zdjęcie
- - - - -

[L5.1] Wyświetlanie tylko części paginacji

6 odpowiedzi w tym temacie
larevel 5.1 paginacja

  • Zaloguj się, aby dodać odpowiedź

#1 qazu

qazu

    Początkujący

  • Użytkownik
  • Pip
  • 5 postów

Napisano 04 wrzesień 2015 - 12:41

W laravel jest jakaś opcja do wyświetlania tylko częściowej paginacji?

 

Obecnie mam 

 

< 1 2 3 4 5 6 7 8 >

A chciałbym

<1 2 3 .... 8 > coś w tym stylu

 

Żeby nie wyświetlało mi całej paginacji (jak będzie stron kilkadziesiąt to trochę dziwnie to będzie wyglądało)



#2 nrm

nrm

    webmastah

  • Admin
  • 1106 postów
  • Skąd:Katowice

Napisano 04 wrzesień 2015 - 13:02

http://laravel.com/docs/5.1/pagination - możesz wymienić widok paginatora na swój.


  • qazu lubi to

#3 Zepco

Zepco

    Senior Mastah

  • Moderator
  • 1583 postów
  • Skąd:Kielce

Napisano 04 wrzesień 2015 - 22:03

To raczej nie kwestia widoku.

A próbowałeś z 12 i większą liczbą stron?

Rzuć kawałkiem kodu z kontrolera jak tworzysz to stronicowanie i jak wyświetlasz je w widoku,


  • qazu lubi to

OŚWIADCZENIE: Ja, niżej podpisany, świadomy wszystkich konsekwencji tego posta postanawiam go dopuścić do użytku publicznego, albowiem bo gdyż aczkolwiek uważam, że nie wyrządzi on (znaczy: post) krzywdy nikomu innemu niźli mnie samemu (czyli autorowi posta).
-- Zepco --


#4 nrm

nrm

    webmastah

  • Admin
  • 1106 postów
  • Skąd:Katowice

Napisano 05 wrzesień 2015 - 11:44

Hmm? chyba się nie rozumiemy albo mowimy o czymś innym: możesz sobie zrobić dowolny widok dla paginacji i mieć tam układ jaki tylko Ci się podoba i co tylko wymyślisz, a nie ten standardowy (jeszcze jest "simplePagination")


  • qazu lubi to

#5 Zepco

Zepco

    Senior Mastah

  • Moderator
  • 1583 postów
  • Skąd:Kielce

Napisano 05 wrzesień 2015 - 16:24

Standardowo Paginator oparty jest o Presentery.

I teraz w zależności jak jest tworzony Paginator są przypisywane różne Presenterki.

Standardowo jest to SimpleBootstrapThreePresenter który ogranicza się do przycisków poprzedni/następny bez numeracji.

Można to ominać tworząc Paginator i jako argument dać odpowiedni (może być też własny) Presenter, bądź utworzyć Presentera i do niego jako argument metody render() przekazać Paginator.

Podobnie sprawa wygląda w Eloquencie i metodzie pagination(), gdzie jako presenter wybierany jest BootstrapThreePresenter.

Dodatkowo ten Presenter korzysta z klasy UrlWindow, która robi nam "kropkowanie" i standardowo wykonuje je przy ilości większej niż 11 stron. Można to zmienić tworząc swój presenter w którym przy wywołaniu podaje się ilość stron przed i po bieżącej stronie.

public function get($onEachSide = 3)
{
    if ($this->paginator->lastPage() < ($onEachSide * 2) + 6) {
        return $this->getSmallSlider();
    }

     return $this->getUrlSlider($onEachSide);
}

Cytując Jeffrey Way z jednej z paczek: https://github.com/laracasts/Presenter

 

 

So you have those scenarios where a bit of logic needs to be performed before some data (likely from your entity) is displayed from the view.

  • Should that logic be hard-coded into the view? No.
  • Should we instead store the logic in the model? No again!

Instead, leverage view presenters. That's what they're for! This package provides one such implementation.

i tym samym śladem idą też deweloperzy Laravela


  • qazu lubi to

OŚWIADCZENIE: Ja, niżej podpisany, świadomy wszystkich konsekwencji tego posta postanawiam go dopuścić do użytku publicznego, albowiem bo gdyż aczkolwiek uważam, że nie wyrządzi on (znaczy: post) krzywdy nikomu innemu niźli mnie samemu (czyli autorowi posta).
-- Zepco --


#6 qazu

qazu

    Początkujący

  • Użytkownik
  • Pip
  • 5 postów

Napisano 06 wrzesień 2015 - 13:16

Dzięki za pomoc, już sobie poradziłem ze zmniejszeniem wyświetlanych stron

 

Jeszcze raz wielkie dzięki, za każdą radę 



#7 Zepco

Zepco

    Senior Mastah

  • Moderator
  • 1583 postów
  • Skąd:Kielce

Napisano 06 wrzesień 2015 - 22:11

Możesz się podzielić swoim rozwiązaniem?


OŚWIADCZENIE: Ja, niżej podpisany, świadomy wszystkich konsekwencji tego posta postanawiam go dopuścić do użytku publicznego, albowiem bo gdyż aczkolwiek uważam, że nie wyrządzi on (znaczy: post) krzywdy nikomu innemu niźli mnie samemu (czyli autorowi posta).
-- Zepco --





Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych