带有子页面链接的lektor菜单,父级切换子菜单,没有链接

时间:2018-01-20 17:29:00

标签: menu jinja2 submenu lektor

我需要生成一个列出所有页面的菜单(如sitemap sample),但如果页面有子页面,则它应该只是其子菜单的切换,而不是链接到任何页面。只有最里面的孩子才会成为页面。 E.G:

  • about(link)
  • 投资组合(无链接 - 仅切换)
    • work01(链接)
    • work02(link)
  • 联系人(链接)

正如我所说,所提及的样本创建并链接页面也为“投资组合”。 我的网站在这里andrearicci.it(子页面),菜单项“项目”现在切换子菜单,但我无法摆脱它的链接 - 所以我不得不格式化不需要的'项目摘要'页面。 在该页面上,菜单是

<nav>
  <ul class="projlist">
    {% for project in site.get('/projects').children %}
      <li{% if this == project %} class="active"{% endif
        %}><a href="{{ project|url }}">{{ project.name }}</a></li>
    {% endfor %}
  </ul>
</nav>

我希望自动解决方案,也可以添加其他页面组(例如绘画/网页设计/其他),而无需每次都更改它。

除了Lektor之外,还有更多关于Jinja的问题吗?

感谢您的帮助。

A.R。

1 个答案:

答案 0 :(得分:0)

想法:只测试页面是否包含子项,如果是 - 请不要链接页面。

测试应该像

一样简单
var level2 = Activator.CreateInstance(level3.DeclaringType);

// This gets me the value of Level3 on Level2 so that I can set it
level2.GetType().GetProperty(level3.Name, BindingFlags.Public | BindingFlags.Instance)?.GetValue(level2)