Det anpassade elementet <devsite-catalog>
tillhandahåller filtrerbart dynamiskt innehåll som inkluderar ett plattformsomfattande filtreringsgränssnitt. Den frågar DevSite-ägt innehåll för att ladda resurser relaterade till ett visst ämne på en DevSite-sida. Det här anpassade elementet kan ladda resurser från alla DevSite-hyresgäster såväl som externa resurser som har lagts till i DevSite External Content-korpusen.
Användande
För att komma igång med det anpassade elementet <devsite-catalog>
gör du följande:
- Lägg till det anpassade elementet på din sida.
- Isolera din datamängd med en Dynamic Content-fråga.
- Lägg till filter.
- Välj dina renderingsalternativ.
- Tagga ditt innehåll.
- Justera layouten.
Lägg till det anpassade elementet
Lägg till det anpassade elementet <devsite-catalog>
på din sida på önskad plats.
HTML
För HTML-sidor kan det anpassade elementet läggas till precis som alla andra HTML-element:
<devsite-catalog query="project_url:/devsite"></devsite-catalog>
YAML
För en målsidesrad med ytterligare innehåll relaterat till det anpassade elementet, använd en rad med en enda artikel med alternativet description-100 från alternativen för målsidesraden .
rows:
- options:
- description-100
heading: Row-level heading
description: >
Row-level description with an overview of the catalog.
items:
- heading: Catalog heading
description: >
<p>Additional lead-in copy.</p>
<devsite-catalog query="project_url:/devsite"></devsite-catalog>
Du kan också använda ett custom_html- fält om du inte behöver några andra fält på objektnivå som heading
eller description
:
rows:
- custom_html: >
<devsite-catalog query="project_url:/devsite"></devsite-catalog>
Prissänkning
För Markdown-filer måste det anpassade elementet vara inpackat i ett <div>
eller <section>
-element:
<div>
<devsite-catalog query="project_url:/devsite"></devsite-catalog>
</div>
Isolera din datamängd
Bestäm en dynamiskt innehållsfråga som isolerar hela datauppsättningen du vill ha tillgänglig för din katalog och lägg till den i frågeattributet i din nya katalog.
Om du till exempel vill lägga till en katalog över alla produkter som finns listade på developers.google.com på din sida lägger du till följande katalog på din sida.
<devsite-catalog query="type:product"></devsite-catalog>
Lägg till filter
För att lägga till filter i din katalog, följ instruktionerna nedan för vart och ett av följande alternativ:
En textinmatningsruta En del av kryssrutefilter på sidan
Textinmatningsfilter
Lägg till en inmatningsruta som filtrerar resultat när användaren skriver in text. Filtreringsrutan matchar användarens text i titeln, beskrivningen och nyckelorden för varje resultat.
<devsite-catalog query="type:product">
<input type="text" placeholder="Filter results">
</devsite-catalog>
Kryssrutafilter
Inom ditt <devsite-catalog>
-element lägger du till ett <select>
-element för varje filtrerbar dimension som dokumenttyp, produkt och programmeringsspråk. Attributet name
bestämmer filtreringsdimensionen, som motsvarar ett strukturerat nyckelordsnamnområde eller ett DevSite-fältnamn som keywords
. Ange en dimensionsetikett för dina läsare med hjälp av etikettattributet. Var noga med att specificera flera attribut för varje <select>
-element för att säkerställa att det genererade filtergränssnittet är korrekt.
Lägg till ett <option>
-element för varje filtervärde i den angivna dimensionen på det överordnade <select>
-elementet. Ange ditt filtrerbara värde i värdeattributet på varje <option>
. Lägg till läsbara filteretiketter mellan dina <option>
-taggar; dessa kommer att översättas om din sida är lokaliserad.
Följande kod lägger till ett avsnitt med dokumenttypsfilter och nyckelordsfilter i ett filtreringsgränssnitt vid sidan av resultaten:
<devsite-catalog query="project_url:/devsite">
<select name="doctype" label="Choose a content type" multiple>
<option value="BestPractices">Best Practices</option>
<option value="Blueprint">Blueprint</option>
<option value="Concept">Concept</option>
<option value="Pattern">Pattern</option>
<option value="ReferenceArchitecture">Reference Architecture</option>
<option value="Tutorial">Tutorial</option>
</select>
<select name="keywords" label="Choose a keyword" multiple>
<option value="BestPractices">Best Practices</option>
<option value="Blueprint">Blueprint</option>
<option value="Concept">Concept</option>
<option value="Pattern">Pattern</option>
<option value="ReferenceArchitecture">Reference Architecture</option>
<option value="Tutorial">Tutorial</option>
</select>
</devsite-catalog>
Inledande kryssrutefilter
Attributet initial-checkbox-filters
bestämmer antalet checkbox-filter som ska visas vid initial laddning. Standard är 3
.
<devsite-catalog query="project_url:/devsite" initial-checkbox-filters="5">
...
</devsite-catalog>
Välj dina renderingsalternativ
<devsite-catalog>
stöder alla renderingsalternativ och anpassade elementattribut för widgeten Dynamic Content.
Använd fields
attributet för att ange vilken data du vill visa på din katalogs kort. Utöver de fields
som dokumenterats för <devsite-dynamic-content>
kan du ange vilket som helst av de dokumenterade strukturerade nyckelordsnamnrymden för att återge taggarna som tillämpas på varje dokument i det namnutrymmet. Om du till exempel specificerar product
kommer alla produkttaggar som appliceras på varje sida att renderas på kortet för den sidan. Du kan också ange tags
för att se alla nomenklaturtaggar som tillämpas på dokumentet.
Följande kod konfigurerar exemplet ovan för att ge maximalt 1 000 resultat sorterade efter senaste uppdatering med ett numerisk sidnumreringsgränssnitt som börjar med 9 resultat och 9 ytterligare resultat per sida. Den konfigurerar resultat för att renderas som kort med en titel, sammanfattning och knapp märkt "Läs mer" samt taggar för product
och api
.
<devsite-catalog query="project_url:/devsite"
maxresults="1000"
sortorder="recency"
items-per-page="9"
fields="title summary product api"
pagination-type="numeric"
link-type="button"
button-label="Learn more"
template="card">
<select name="doctype" label="Choose a content type" multiple>
<option value="BestPractices">Best Practices</option>
<option value="Blueprint">Blueprint</option>
<option value="Concept">Concept</option>
<option value="Pattern">Pattern</option>
<option value="ReferenceArchitecture">Reference Architecture</option>
<option value="Tutorial">Tutorial</option>
</select>
<select name="keywords" label="Choose a keyword" multiple>
<option value="BestPractices">Best Practices</option>
<option value="Blueprint">Blueprint</option>
<option value="Concept">Concept</option>
<option value="Pattern">Pattern</option>
<option value="ReferenceArchitecture">Reference Architecture</option>
<option value="Tutorial">Tutorial</option>
</select>
</devsite-catalog>
Om ditt team har UXE-stöd kan du skapa en anpassad mall för dina katalogkort genom att lägga till en ny sojamall till
Tagga ditt innehåll
Innehåll kan bara filtreras om det är taggat enligt dina filter. Det är möjligt att lägga till filter med följande dimensioner:
explicit taggade strukturerade sökord (ostrukturerade) sökord page_type strukturerade sökord härledda från nomenklaturdiagrammet De flesta kryssruta- och urvalsfilter filtrerar innehåll enligt strukturerade sökord, där filterdimensionen måste matcha ett strukturerat sökordsnamnområde och filtervärdet måste matcha resten av det strukturerade nyckelordet. Se Nomenklaturdokumentationen för mer information om strukturerade nyckelord och namnrymder som stöds.
För att dölja en sida från alla kataloger, ställ in metadatataggen hide_from_catalogs till true på den sidan.
Justera layouten
För att ändra standardkolumnlayouten (som antingen är två kolumner för template="activity"
-objekt eller tre kolumner annars), lägg till ett objekt-över-attribut med värdet 1
, 2
, 3
eller 4
.
<devsite-catalog items-across="2" query="type:product"></devsite-catalog>
När visningsporten blir smalare justeras objektens layout för att säkerställa att objektens innehåll förblir tillgängligt. För items-across
värden på 3
eller 4
växlar layouten till två kolumner på surfplattor och alla layouter växlar till en enda kolumn på mobila enheter.
Exempel
Följande är exempel för att demonstrera utseendet och funktionen hos de grundläggande funktionerna i det anpassade elementet <devsite-catalog>
.
Cloud Architecture Center
Följande är ett exempel på katalogen som används för Cloud Architecture Center. Förutom title
och summary
anger den product
och api
i fields
för att lägga till taggar för dessa namnområden på korten.
Demo
<span class="devsite-heading" role="heading" aria-level="4">Source</span>
Codelabs katalog
Följande är ett exempel på katalogen med codelabs som använder platta nyckelord, icke-numrerad sidnumrering och ingen textfilterinmatning.
Demo
Föranvända filter
Katalogwidgeten spårar tillståndet för användartillämpade filter i sidans URL, vilket gör att specifika filterkonfigurationer kan bokmärkas eller delas. Varje filterdimension representeras av en URL-parameter. URL-parametrarna är strukturerade enligt följande:
För filterkontroller som har ett enstaka värde som filter i urvalsstil är URL-parametervärdet det normaliserade filtervärdet. För filterkontroller som stöder flera värden som kryssrutor är URL-parametervärdet en kommaseparerad lista över de normaliserade filtervärdena. Alla andra (icke-filter) URL-parametrar påverkas inte av Catalog-widgeten. Om en användare till exempel har angett "Big Data" i textfiltret och valt Python och JavaScript från kryssrutorna Språk, återspeglar sidans URL dessa filter med frågesträngen 'text=Big%20Data&language=python,javascript'.
När en sida som innehåller katalogwidgeten laddas med filterparametrar i webbadressen, fyller katalogwidgeten i förväg motsvarande filterkontroller och filtrerar resultaten på lämpligt sätt.
Följande är till exempel URL:en för Cloud Architecture Center-demon :
https://developers.google.com/devsite/reference/widgets/catalog/architecture
Här är några exempel på frågesträngar som du kan lägga till den webbadressen:
?doctype=bestpractices
markerar kryssrutan Bästa metoder i avsnittet Välj en innehållstyp , som motsvarar filterdimensionen doctype
. ?doctype=bestpractices,blueprint
markerar både Bästa praxis och Blueprint kryssrutorna i samma avsnitt. ?text=Cloud%20SQL
fyller textfiltret med "Cloud SQL".
Filterparameterdimensionerna kan också kombineras. Följande URL innehåller både doctype- och textparametrarna:
Denna URL markerar lämpliga kryssrutor och fyller i textinmatningen, som visas i följande demo.