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

时间:2013-11-17 13:49:46

标签: themes customization 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 %}

1 个答案:

答案 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 %}