我想在Zotonic中使用每页侧边栏内容:
有什么好方法可以做到这一点,我需要什么样的模板片段才能让它发挥作用?
答案 0 :(得分:3)
登录Zotonic管理界面。
创建谓词:
然后,这些谓词将显示在页面编辑器的“页面连接”中。以这种方式添加到其他页面的链接,白皮书的链接和网络研讨会页面的链接。
将以下内容添加到_article_sidebar.tpl
:
{% with m.rsc[id].links as texts %}
{% if texts %}
<h2>See also:</h2>
<ul>
{% for text in texts %}
<li><a href="{{ m.rsc[text].page_url }}" {% ifequal text id %}class="current"{% endifequal %}>{{ m.rsc[text].title }}</a></li>
{% endfor %}
</ul>
{% endif %}
{% endwith %}
{% with m.rsc[id].white_papers as texts %}
{% if texts %}
<h2>White papers:</h2>
<ul>
{% for text in texts %}
<li><a href="{{ m.rsc[text].page_url }}" {% ifequal text id %}class="current"{% endifequal %}>{{ m.rsc[text].title }}</a></li>
{% endfor %}
</ul>
{% endif %}
{% endwith %}
{% with m.rsc[id].webinars as texts %}
{% if texts %}
<h2>Related webinars:</h2>
<ul>
{% for text in texts %}
<li><a href="{{ m.rsc[text].page_url }}" {% ifequal text id %}class="current"{% endifequal %}>{{ m.rsc[text].title }}</a></li>
{% endfor %}
</ul>
{% endif %}
{% endwith %}
当您添加谓词时,它允许您在Zotonic中向RSC(页面,媒体等)添加元数据。每个Predicate允许您在Zotonic界面中将一组RSC连接到RSC。该集合作为RSC的ID存储和访问。
然后可以在模板中访问谓词元数据。表达式m.rsc[id].links
选择连接到当前页面的RSC的ID集合作为链接。
表达式m.rsc[id]
为正在呈现的页面选择RSC。表达式m.rsc[text]
为已连接的RSC选择RSC。
表达式{% ifequal text id %}class="current"{% endifequal %}
有条件地呈现一个CSS类属性,该属性改变链接样式以指示它是当前页面。