有没有办法让 knp 分页器只显示下一个和上一个按钮

Posted

技术标签:

【中文标题】有没有办法让 knp 分页器只显示下一个和上一个按钮【英文标题】:Is there a way to make the knp paginator show only show next and previous buttons 【发布时间】:2014-04-24 14:40:02 【问题描述】:

它是如何呈现的

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';
   

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

【问题讨论】:

【参考方案1】:

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

当然还有清除缓存。

【讨论】:

以上是关于有没有办法让 knp 分页器只显示下一个和上一个按钮的主要内容,如果未能解决你的问题,请参考以下文章

Knp分页器不分页

如何在 Twig 中为 KNP 分页器获取分页方向?

带有 findAll() 方法的 Knp 分页器

knp 分页器仅适用于数组

如何将参数附加到 KNP 分页器 url

KNP 分页链接卡在第 1 页