11ty 分页返回文件结构中的数字 - 我如何防止这种情况发生?

Posted

技术标签:

【中文标题】11ty 分页返回文件结构中的数字 - 我如何防止这种情况发生?【英文标题】:11ty Pagination Returns number in file structure - how do I prevent this from happening? 【发布时间】:2021-12-20 03:28:25 【问题描述】:

我正在尝试为 11ty 中的 CMS 中的每个数据项创建一个页面。数据已经很好地通过了,并且每个页面都很好地输出。但是,当创建一个永久链接时,我得到:

public/page-title/1/index.html

其中/1/是页面创建的迭代。我以前从未在 11ty 上遇到过这种情况 - 有谁知道为什么会发生这种情况以及我该如何预防?文档并不是特别有帮助 - 说它会发生,但没有说明原因或任何解决方法。

谢谢!

【问题讨论】:

【参考方案1】:

如果你想重新映射永久链接进行分页,你可以设置permalink前端变量,它支持模板字符串(11ty docs)。

您可以将永久链接更改为您想要的任何内容,以及访问分页对象 (made simple with an alias)。例如,如果您的别名对象上有一个 slug 属性,您可能想要这样的东西:

---
pagination:
  data: cmsdata
  size: 1
  alias: item 
permalink: "public/page-title/ item.slug /index.html"
---

【讨论】:

谢谢。这就是我正在做的事情 - 但我正在返回 public/page-title/8/index.html 其中 8 是数据的迭代 - 例如,我为每个编号为 1-8 的项目提供一个页面,并且第一次迭代,根本没有额外的文件夹。 今天解决了这个问题,看来问题出在使用 EleventyComputed 上。【参考方案2】:

通过进一步研究发现问题出在十一计算中使用永久链接 - 此线程中有详细说明的解决方法:

https://github.com/11ty/eleventy/issues/1555

TL;DR:将永久链接设置为:“/”,然后再将永久链接设置为您在 11 计算中所需的路径

【讨论】:

以上是关于11ty 分页返回文件结构中的数字 - 我如何防止这种情况发生?的主要内容,如果未能解决你的问题,请参考以下文章

打印时防止表格中的分页符

如何改进我的查询以防止“PHP 致命错误:允许的内存大小”(laravel 5.2 中的排序和分页)

11ty 为每个数据文件渲染单个帖子

如何防止对象数字属性的自动排序?

11ty 的页眉中的页面 <style>

如何通过前端变量(Eleventy / 11ty)过滤处理过的文件?