Есть ли способ заставить knp paginator показывать только кнопки «следующая» и «предыдущая»?

Как он это делает

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

Как мне это нужно для рендеринга

> (only next button)

Как метод рендеринга запускается в файле ветки

<div class="pagination">
   {{ knp_pagination_render(pagination) }}
</div>

возможно, это поможет, это функция рендеринга внутри исходного кода knp 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';
   }

Поскольку на веб-сайте будут тысячи (возможно, миллионы) изображений, мне нужно избавиться от номеров страниц и показывать кнопку «Далее» только после того, как пользователь достиг конца бесконечной прокрутки.


person user3531149    schedule 24.04.2014    source источник


Ответы (1)


Один из способов сделать это — переопределить файл twig. Найдите файл slide.html.twig и скопируйте его в app/Resources/KnpPaginatorBundle/views/Pagination и удалите все, что вам не нужно.

Если вам нужны только кнопки «Далее» и «Предыдущий», решение:

{# 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>

Ну и конечно очистить кеш.

person repincln    schedule 24.04.2014