Ginys: botons de navegació

L'element personalitzat <devsite-nav-buttons> permet que un grup de botons torni a carregar la pàgina actual amb un paràmetre de cadena de consulta diferent.

Demostració

Java sample code

Ús

Per utilitzar-lo, creeu un element <devsite-nav-buttons> amb un atribut name i col·loqueu diversos elements button amb diferents atributs value . Per a cada grup de botons, seleccioneu-ne un com a predeterminat afegint un atribut default a l'element.

<devsite-nav-buttons name="language">
  <button value="java" default>Java example</button>
  <button value="python">Python example</button>
  <button value="go">Go example</button>
</devsite-nav-buttons>

En un fitxer Markdown ( .md ), assegureu-vos que l'element personalitzat estigui embolicat amb un element HTML estàndard, com ara una section , div o p :

<div>
  <devsite-nav-buttons name="language">
    <button value="java" default>Java example</button>
    <button value="python">Python example</button>
    <button value="go">Go example</button>
  </devsite-nav-buttons>
</div>

A continuació, podeu utilitzar etiquetes dinàmiques que examinen els paràmetres de la cadena de consulta per determinar quin contingut mostrar a l'usuari.

{% dynamic if request.query_string.language == "python" %}
Python sample code
{% dynamic elif request.query_string.language == "go" %}
Go sample code
{% dynamic else %}
Java sample code
{% dynamic endif %}

Enllaç a la pàgina amb un identificador

Com a regla general, el millor és col·locar l'element <devsite-nav-buttons> a prop de la part superior de la pàgina, ja que fer clic a qualsevol dels seus botons porta els usuaris a un URL nou i torna a carregar la pàgina. Si utilitzeu l'element al mig d'una pàgina i/o voleu que la ubicació de l'element a la pàgina sigui marcable, hauríeu d'especificar un id únic a l'element, que afegirà una àncora amb nom a l'URL i farà que la pàgina es desplaci. a la ubicació de l'element quan es carrega la pàgina.

<devsite-nav-buttons name="language" id="code-examples">
  <button value="java" default>Java example</button>
  <button value="python">Python example</button>
  <button value="go">Go example</button>
</devsite-nav-buttons>

Opcions de paràmetres d'URL

De manera predeterminada, després que un usuari faci clic en un dels botons, el valor del botó es desa a localStorage. El valor seleccionat s'afegeix automàticament a la barra d'adreces com a paràmetre d'URL en altres pàgines amb elements <devsite-nav-buttons> que utilitzen els mateixos camps name i value .

Elimineu el paràmetre URL del botó predeterminat

Per anul·lar el comportament predeterminat i eliminar el paràmetre d'URL quan es fa clic al botó default , afegiu param="reset" a l'element:

<devsite-nav-buttons name="language" param="reset">
  <button value="java" default>Java example</button>
  <button value="python">Python example</button>
  <button value="go">Go example</button>
</devsite-nav-buttons>

Mostra sempre un paràmetre d'URL per al botó predeterminat

Quan un usuari visita una pàgina amb un element <devsite-nav-buttons> per primera vegada, el botó default es ressalta i no hi ha cap canvi a la barra d'adreces fins que no es fa clic en un botó.

Per actualitzar la barra d'adreces amb el paràmetre d'URL del botó default i assegurar-vos que sempre hi ha un paràmetre d'URL a les pàgines amb un element <devsite-nav-buttons> , afegiu param="always" a l'element:

<devsite-nav-buttons name="language" param="always">
  <button value="java" default>Java example</button>
  <button value="python">Python example</button>
  <button value="go">Go example</button>
</devsite-nav-buttons>

Estil de botons

Per defecte, els botons de l'element <devsite-nav-buttons> tenen un estil "xip". Per augmentar o disminuir l'impacte visual dels botons, podeu afegir un atribut type amb un valor de filled o text , que donarà estil a cada element button .

Estil de botons amb type="filled" :

<devsite-nav-buttons name="language" type="filled">
  <button value="java" default>Java example</button>
  <button value="python">Python example</button>
  <button value="go">Go example</button>
</devsite-nav-buttons>

Estil de botons amb type="text" :

<devsite-nav-buttons name="language" type="text">
  <button value="java" default>Java example</button>
  <button value="python">Python example</button>
  <button value="go">Go example</button>
</devsite-nav-buttons>