Joomla 'PageNavigation' 插件

Joomla 'PageNavigation' Plugin

如果这不可能,请告诉我!

我希望我的问题有解决方案。

我需要将页面导航插件中的 Next/Prev 按钮 移动到 <jdoc:include type="component" />; 之后,基本上可以在我的模板中的任何位置渲染它 index.php?

有什么办法吗?

这是呈现分页的代码:

<?php
if (!empty($this->item->pagination) && $this->item->pagination && $this->item->paginationposition && !$this->item->paginationrelative):
    echo $this->item->pagination;
?>
<?php endif; ?>

如您所见,分页是项目的一部分。如您所见,如果您查看 pagenavigation 内容插件,分页值是为响应 onContentBeforeDisplay 事件而创建的。该插件被硬编码为仅适用于单篇文章视图中的文章。

所以要在不同的组件中使用它,你真的需要为该组件创建第二个插件(或者你可以做任何组件或除了单个文章视图之外的任何东西,所有这些都可以很容易地使用上下文编码) .

要将其定位在单个文章视图中的不同位置,您必须将代码块移动到布局中的所需位置。潜在地,您还可以使用 css 将块的呈现定位在页面上的其他位置。 (但更多内容在底部。)

不幸的是(但并不令人惊讶地给出它的名字)onContentBeforeDisplay 在视图中来得非常晚(与后端分页不同)。

我总是觉得很困惑,因为这个插件控制的前端 "pagination" 属性 与由 JPagination 对象控制的后端分页无关。我相信 if 是因为一直向后兼容 1.0。还因为用于分页 chrome 的模板 chrome 被称为 pagination.php

这引出了我要提到的下一件事。您可以创建一个文件 pagination.php 并将其放入模板的 html 文件夹中。您可以在核心模板 protostar 中看到这样的示例。这就是您可以执行 CSS 或您想要执行的任何其他技巧以使分页执行您想要的操作的地方。我认为如果你足够努力(可能使用 javascript 或可能从模块调用该文件),你几乎可以实现任何你想要的。