我想在 Zotonic 中拥有每页侧边栏内容:
- 链接
- 白皮书
- 网络研讨会
有什么好的方法可以做到这一点,我需要什么样的模板片段才能让它工作?
我想在 Zotonic 中拥有每页侧边栏内容:
有什么好的方法可以做到这一点,我需要什么样的模板片段才能让它工作?
登录 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(页面、媒体等)。每个谓词都允许您将一组 RSC 连接到 Zotonic 界面中的一个 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 类属性,该属性改变链接样式以指示它是当前页面。