如何在 CKAN 中的主导航栏中添加指向外部站点的链接



我知道我可以通过覆盖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 %}

不,你不能那样做。帮助程序方法查找内部声明的路由 ( 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 %}

最新更新