有没有办法让knp paginator show只显示next和previous按钮

时间:2014-04-24 14:40:03

标签: symfony pagination twig knppaginator

如何渲染

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

我需要它如何渲染

> (only next button)

如何在树枝文件上触发渲染方法

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

也许这会有所帮助,这是knp paginator源代码中的render函数

    /**
     * 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';
   }

由于该网站将有数千张(可能是数百万张)图片,我需要摆脱页码,并且只有在用户到达无限卷轴的末尾时才显示“下一步”按钮

1 个答案:

答案 0 :(得分:15)

一种方法是覆盖twig文件。找到文件sliding.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>

当然清除缓存。