我知道我可以通过覆盖标题_site_navigation_tabs块来自定义标准模板中页面顶部的导航链接集。如[datahub.io自定义]( https://github.com/okfn/ckanext-datahub/blob/3d64748fc1f3c4499780b199e971a5929ba69315/ckanext/datahub/templ.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 %}
.

有帮助吗?

解决方案

否,你不能这样做。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 %}
.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top