5

它是如何呈现的

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

我如何需要它来渲染

> (only next button)

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

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

也许这会有所帮助,这是 knp 分页器源代码中的渲染函数

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

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

4

1 回答 1

16

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

当然还有清除缓存。

于 2014-04-24T14:53:14.813 回答