Pregunta

Sé que puedo personalizar el conjunto de enlaces de navegación en la parte superior de la página en la plantilla estándar al anular el bloque de encabezado_site_navigation_tabs, p.Como en la [DataHub.IO Personalization] ( https://github.com/okfn/ckanext-datahub/blob/3d64748fc1f3c4499780b199e9715/ckanext/datahub/templates/header.html#l9 )

{% block header_site_navigation_tabs %}
        {{ h.build_nav_main(
          ('search', _('Datasets')),
          ('organizations_index', _('Organizations')),
          ('about', _('About'))
        ) }}
{% endblock %}

Sin embargo, quiero agregar un enlace a esta lista a un sitio web externo?¿Puedo hacerlo (ver entrada adicional al final):

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

¿Fue útil?

Solución

No, no puedes hacer eso.El método del ayudante busca las rutas declaradas internamente (config['routes.named_routes']).Sin embargo, puede simplemente agregar un elemento LI, por lo que todo el bloque se vería así

{% 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 bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top