2

问题:我们正在将一个 wordpress 博客移植到 lektor。帖子的 wordpress 中的 slug 直接在主域下,例如www.mypage.com/my-blogpost-about-food/not www.mypage.com/blog/my-blogpost-about-food/

现在所有者还没有准备好接受任何损坏的链接。从外部断开的链接,例如一些随机的互联网页面链接到www.mypage.com/my-blogpost-about-food/. 此链接在 lektor 中不起作用。这将降低使用 lektor 重新设计页面的页面排名。我能做些什么来避免这种情况?

同样,在我们当前的 wordpress 网站上

主博客页面位于:

www.mypage.com/blog/

每篇博客文章都有一个独特的 slug,不是在主目录下,/blog/而是直接在主目录下。例如

www.mypage.com/my-blogpost-about-food/

我该怎么做才能使这些 URL 对 lektor 也有效?例如,这mypage.com/my-blogpost-about-food是一篇博客文章。

编辑:这是 lektor 不支持的。lektor 中的博客文章必须放在www.mypage.com/blog/SINGLE-BLOG-POSTS-MUSTBEHERE的博客文章必须放在其中,但我希望博客文章在这里www.mypage.com/SINGLE-BLOG-POSTS-MUSTBEHERE

在这里阅读 https://www.getlektor.com/docs/content/urls/

如果我转到系统字段并输入my-blogpost-about-food它仍然会出现在/blog/my-blogpost-about-food/

在这里阅读很明显,我也无法更改父模型中的 slug:

通过上述设置,博客将位于 blog/ 中,而帖子位于 blog/ 中。但是,如果您想将博客文章的日期放入 URL 中怎么办?谢天谢地,这很容易。您需要做的就是为孩子设置一个新的 URL 格式。只需编辑 blog.ini 并将其添加到 [children] 部分:

slug_format = {{ (this.pub_date|dateformat('YYYY/M/') if this.pub_date) ~ this._id }}

这样做的目的是,如果配置了发布日期,它会将年份 (YYYY) 和月份 (M) 附加到页面的 ID。否则它将只使用页面的 ID。通过此更改,我们的博客文章将从例如 blog/hello/ 移动到 blog/2015/12/hello/。

现在我将如何实现与此类似的行为?

这是我们的 wordpress 安装的永久链接的正式形式: 在此处输入图像描述

4

2 回答 2

2

这个有可能。如果您从以下位置开始使用默认设置lektor quickstart

  • models/blog-post.ini,删除hidden = yes
  • models/blog.ini分页部分下,添加items = site.query('/').filter(F._model == 'blog-post')

第一步允许您在管理员的根目录下创建博客文章。第二步告诉页面blog在下面查找它的分页项/,并且只包括 type 的那些blog-post。这将排除例如关于、博客等。

您现在将拥有您网站的主页/,一个包含所有帖子列表的博客页面/blog,每个帖子都位于example.com/my-blogpost-about-food/

要在管理员中创建新博客文章,请转到根管理页面(不是/blog管理页面),单击 +,然后选择博客文章作为您的新页面类型。它将显示在列表上/blog,并直接位于 下/

于 2018-07-20T07:45:43.923 回答
0

我不确定我是否完全理解您想要实现的目标。如果我理解正确,您可以使用replaced_withfor children 功能解决此问题:

https://www.getlektor.com/docs/guides/categories/

于 2017-07-07T16:38:11.687 回答