2014-04-24 8 views
5

Jak to czyni toCzy istnieje sposób, aby KNP paginator pokaz tylko pokazać następny i poprzedni przyciski

1 2 3 > >> (page numbers, next button, last page button) 

Jak muszę to uczynić

> (only next button) 

Jak jest wyzwalany na sposób renderowania plik z gałązkami

może to pomoże, jest to funkcja renderowania wewnątrz kodu źródłowego paginator paginator

/** 
    * Renders the pagination template 
    * 
    * @param string $template 
    * @param array $queryParams 
    * @param array $viewParams 
    * 
    * @return string 
    */ 
    public function render($pagination, $template = null, array $queryParams = array(), array $viewParams = array()) 
    { 
     return $this->environment->render(
      $template ?: $pagination->getTemplate(), 
      $this->processor->render($pagination, $queryParams, $viewParams) 
     ); 
    } 

    /** 
    * Get name 
    * 
    * @return string 
    */ 
    public function getName() 
    { 
     return 'knp_pagination'; 
    } 

Ponieważ strona będzie mieć tysiące (prawdopodobnie mln) zdjęć, muszę pozbyć się numery stron i tylko pokazać przycisk „Dalej”, gdy użytkownik osiągnie koniec nieskończonego przewijania

Odpowiedz

15

Jednym ze sposobów jest zastąpienie pliku twig. Znajdź plik sliding.html.twig i skopiuj go do aplikacji/Resources/KnpPaginatorBundle/views/Pagination i usuń wszystko, czego nie potrzebujesz.

Jeśli chcesz tylko następny i poprzedni przyciski wówczas rozwiązaniem jest:

{# default Sliding pagination control implementation #} 

{% if pageCount > 1 %} 
<div class="pagination"> 
    {% if previous is defined %} 
     <span class="previous"> 
      <a href="{{ path(route, query|merge({(pageParameterName): previous})) }}">&lt;</a> 
     </span> 
    {% endif %} 

    {% if next is defined %} 
     <span class="next"> 
      <a href="{{ path(route, query|merge({(pageParameterName): next})) }}">&gt;</a> 
     </span> 
    {% endif %} 
</div> 

I oczywiście jasne cache.

Powiązane problemy