我知道我可以通过覆盖header_site_navigation_tabs块来自定义标准模板中页面顶部的导航链接集,例如与[datahub.io自定义]中一样(https://github.com/okfn/ckanext-datahub/blob/3d64748fc1f3c4499780b199e971a5929ba69315/ckanext/datahub/templates/header.html#L9 )
{% block header_site_navigation_tabs %}
{{ h.build_nav_main(
('search', _('Datasets')),
('organizations_index', _('Organizations')),
('about', _('About'))
) }}
{% endblock %}
但是,我想将此列表的链接添加到外部网站?我可以这样做(见最后的额外条目):
{% block header_site_navigation_tabs %}
{{ h.build_nav_main(
('search', _('Datasets')),
('organizations_index', _('Organizations')),
('about', _('About'))
('http://blog.datahub.io/', 'Blog')
) }}
{% endblock %}
答案 0 :(得分:1)
不,你不能这样做。 helper方法查找内部声明的路由(config['routes.named_routes']
)。但是,您可以简单地添加一个li元素,因此整个块看起来像这样
{% block header_site_navigation %}
<nav class="section navigation">
<ul class="nav nav-pills">
{% block header_site_navigation_tabs %}
{{ h.build_nav_main(
('search', _('Datasets')),
('organizations_index', _('Organizations')),
('about', _('About'))
) }}
<li><a href="http://blog.datahub.io">Blog</a></li>
{% endblock %}
</ul>
</nav>
{% endblock %}