www.mypage.com/my-blogpost-about-food/
不是www.mypage.com/blog/my-blogpost-about-food/
。
现在,所有者尚未准备好接受任何损坏的链接。来自外部的断开链接,例如一些随机的互联网页面链接到www.mypage.com/my-blogpost-about-food/
。此链接在lektor中不起作用。这将降低使用lektor重新设计页面的页面排名。我该怎么做才能避免这种情况?
再次,在我们目前的wordpress网站
主要博客页面位于:
www.mypage.com/blog/
每个博客文章都有一个独特的slug,不在/blog/
下,而是在主要文件中。
e.g。
www.mypage.com/my-blogpost-about-food/
我该怎么做才能使这些网址对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/
阅读here很明显我无法改变父模型中的slu ::
通过上述设置,博客将在博客/和帖子中发布 博客/。但是,如果你想把博客的日期 发布到网址?谢天谢地,这非常容易。你需要做的就是 为子项设置新的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 /.
现在我将如何实现与此类似的行为?
答案 0 :(得分:1)
这是可能的。如果您从INSERT INTO table ( id, name ) SELECT ... FROM <pseudo-db>
开始使用默认设置:
lektor quickstart
中,删除models/blog-post.ini
hidden = yes
的分页部分下,添加models/blog.ini
第一步,您可以在admin的root用户下创建博客文章。
第二步告诉页面items = site.query('/').filter(F._model == 'blog-post')
在blog
下查找其分页项,并且仅包括类型/
的分页项。这将排除例如关于,博客等
您现在将在blog-post
拥有站点的主页,在/
拥有博客页面,其中列出了所有帖子,并且每个帖子都将位于/blog
。
要在管理员中创建新博客,请转至root管理员页面(不是 example.com/my-blogpost-about-food/
管理页面),单击+,然后为新页面选择Blog Post。类型。它将显示在/blog
上的列表中,并直接位于/blog
下。
答案 1 :(得分:0)
我不确定我完全理解你想要达到的目标。如果我理解正确,您可以使用replaced_with
for children功能解决此问题: