Widgets: navigatieknoppen

Met het aangepaste element <devsite-nav-buttons> kan een groep knoppen de huidige pagina opnieuw laden met een andere querystringparameter.

Demo

Java sample code

Gebruik

Om dit te gebruiken, maakt u een <devsite-nav-buttons> -element met een name attribuut en plaatst u meerdere button met verschillende value attributen daarin. Selecteer voor elke groep knoppen één standaard door een default aan het element toe te voegen.

<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>

Zorg er in een Markdown-bestand ( .md ) voor dat het aangepaste element is omhuld met een standaard HTML-element, zoals een section , div of 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>

Vervolgens kunt u dynamische tags gebruiken die de parameters van de queryreeks onderzoeken om te bepalen welke inhoud aan de gebruiker moet worden weergegeven.

{% 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 %}

In-page koppeling met een ID

Als algemene regel geldt dat het het beste is om het element <devsite-nav-buttons> bovenaan de pagina te plaatsen, aangezien gebruikers door op een van de knoppen te klikken naar een nieuwe URL worden geleid en de pagina opnieuw wordt geladen. Als u het element in het midden van een pagina gebruikt en/of wilt dat de locatie van het element op de pagina als bladwijzer kan worden gemarkeerd, moet u een unieke id voor het element opgeven, die een benoemd anker aan de URL toevoegt en de pagina laat scrollen naar de locatie van het element wanneer de pagina wordt geladen.

<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>

URL-parameteropties

Nadat een gebruiker op een van de knoppen heeft geklikt, wordt de waarde van de knop standaard opgeslagen in localStorage. De geselecteerde waarde wordt automatisch toegevoegd aan de adresbalk als URL-parameter op andere pagina's met <devsite-nav-buttons> -elementen die dezelfde name en value gebruiken.

Verwijder de URL-parameter voor de standaardknop

Om het standaardgedrag te overschrijven en de URL-parameter te verwijderen wanneer op de default wordt geklikt, voegt u param="reset" toe aan het 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>

Geef altijd een URL-parameter weer voor de standaardknop

Wanneer een gebruiker voor de eerste keer een pagina met een <devsite-nav-buttons> -element bezoekt, wordt de default gemarkeerd en verandert er niets aan de adresbalk totdat er op een knop wordt geklikt.

Om de adresbalk te updaten met de URL-parameter voor de default , en ervoor te zorgen dat er altijd een URL-parameter is op pagina's met een <devsite-nav-buttons> -element, voegt u param="always" toe aan het 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>

Knopenstijl

Standaard hebben de knoppen binnen het <devsite-nav-buttons> -element een "chip"-stijl. Om de visuele impact van de knoppen te vergroten of verkleinen, kunt u een type attribuut toevoegen met de waarde filled of text , waarmee elk button wordt opgemaakt.

Knopstijl met 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>

Knopstijl met 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>