Como faço para adicionar um link para um site externo, o principal barra de navegação no CKAN

StackOverflow https://stackoverflow.com//questions/20031440

  •  21-12-2019
  •  | 
  •  

Pergunta

Eu sei que eu posso personalizar o conjunto de links de navegação no topo da página, no modelo padrão, substituindo o header_site_navigation_tabs bloco e.como em [datahub.io de personalização](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 %}

No entanto, eu quero adicionar um link para esta lista para um site externo?Posso apenas fazer (ver entrada extra no final):

{% block header_site_navigation_tabs %}
        {{ h.build_nav_main(
          ('search', _('Datasets')),
          ('organizations_index', _('Organizations')),
          ('about', _('About'))
          ('http://blog.datahub.io/', 'Blog')
        ) }}
{% endblock %}
Foi útil?

Solução

Não, você não pode fazer isso.O método auxiliar procura por rotas declarada internamente (config['routes.named_routes']).No entanto, você pode simplesmente adicionar um elemento do li, então, todo o bloco teria esta aparência

{% 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 %}
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top