Such-Komponenten einbinden

Binde die footage.one Suche als Web Components in deine Website ein.

Überblick

footage.one stellt Web Components bereit, mit denen du eine Mediensuche direkt in deine eigene Website einbinden kannst. Die Komponenten verbinden sich mit deinem footage.one-Account und zeigen die Medien einer Distribution an.

Zum Ausprobieren vor der Integration: Auf https://ork.footage.one/demo den Token einer Distribution vom Typ „Öffentliche Suche" einfügen — die Suche läuft dann gegen die eigenen Daten.

Einbindung

Lade das Script in deine HTML-Seite:

<script src="https://ork.footage.one/asset-search/main.js"></script>

Konfiguration

Konfiguriere die Verbindung zu deinem footage.one-Account. Du benötigst den Host und einen JWT-Token. Den Token erhältst du, indem du eine Distribution vom Typ „Öffentliche Suche" erstellst — der JWT-Token wird in den Distributionseinstellungen angezeigt.

Per HTML-Element

<foc-config host="https://ork.footage.one" token="dein-jwt-token" language="de"></foc-config>

Per JavaScript

FoComponents.configure('https://ork.footage.one', 'dein-jwt-token', 'de');

Verfügbare Komponenten

foc-result — Suchergebnisse

Zeigt die aktuelle Ergebnisliste an:

<foc-result link-format="/detail/%SKU%/%SLUG%"></foc-result>

Das link-format definiert das URL-Muster für Detailseiten. Verfügbare Platzhalter:

Platzhalter Wert
%SKU% Die SKU des Assets, wenn sie die kanonische Form hat — drei Buchstaben gefolgt von Ziffern — sonst die UID
%SLUG% Der kanonische URL-Slug, den das Backend liefert
%UID% Die interne UID des Assets

Der Slug ist beschreibend, nicht eindeutig. Er wird aus dem Asset-Namen gebildet, und verschiedene Namen ergeben denselben Slug. Kombiniere ihn immer mit %SKU% oder %UID%/detail/%SLUG% allein führt zu Kollisionen.

Nutze %SLUG%, statt selbst einen Slug zu bilden. Der Slug kommt aus dem Backend und ist dieselbe Zeichenkette, die auch in der Sitemap steht. Bildet eine Integration ihren eigenen, ist dasselbe Asset unter mehreren URLs erreichbar — genau das wertet Google als Duplicate Content ab.

Detail-Overlay statt Seitenwechsel

Standardmäßig folgt ein Klick auf eine Kachel ihrem href. Soll stattdessen ein Overlay geöffnet werden, setze link-navigate="false":

<foc-result link-format="/detail/%SKU%/%SLUG%" link-navigate="false"></foc-result>

Die Kachel behält dann ihren echten href im Markup, der Klick wird aber abgefangen und nur das foc:item-click-Event ausgelöst. Strg-/Cmd-/Shift-/Alt-Klick bleiben unangetastet — „in neuem Tab öffnen“ und „Link speichern unter“ funktionieren weiterhin.

Auf dieses Event reagierst du, um dein Overlay zu öffnen. Beachte: Das Asset liegt auf event.data, nicht auf event.detail:

document.addEventListener('foc:item-click', (event) => {
  openOverlay(event.data); // das vollständige Asset: uid, sku, slug, name, thumbnailUrl, …
});

Setze niemals link-format="javascript:void(0)". Das war früher der einzige Weg zu einem Overlay, hinterlässt aber eine Ergebnisliste ohne einen einzigen folgbaren Link — Suchmaschinen finden dann keines deiner Assets. link-navigate="false" löst dasselbe Problem, ohne die Links zu opfern.

foc-details — Asset-Detailansicht

Zeigt ein einzelnes Asset an. Ohne sku-Attribut wird die SKU aus dem URL-Parameter sku gelesen:

<foc-details sku="DWT000342"></foc-details>

foc-facets — Filter

Zeigt verfügbare Filteroptionen (Facetten) an:

<foc-facets format-counter sort-by-label="codec_norm_s,resolution_ss"></foc-facets>

foc-active-facets — Aktive Filter

Zeigt die aktuell aktiven Filter mit Möglichkeit zur Entfernung:

<foc-active-facets></foc-active-facets>

foc-pagination — Seitennavigation

<foc-pagination>
  <span slot="first">Erste</span>
  <span slot="previous">Zurück</span>
  <span slot="next">Weiter</span>
  <span slot="last">Letzte</span>
</foc-pagination>

foc-pagesize — Ergebnisse pro Seite

<foc-pagesize sizes="8,16,32,64" default-size="16"></foc-pagesize>

foc-result-count — Ergebnisanzahl

<foc-result-count format>
  <span slot="before-count">Insgesamt </span>
  <span slot="after-count"> Ergebnisse</span>
  <span slot="no-result">Keine Ergebnisse gefunden</span>
</foc-result-count>

foc-asset-keywords — Asset-Keywords

Zeigt Keywords für ein Asset an (muss innerhalb von foc-details stehen):

<foc-details sku="DWT000342">
  <foc-asset-keywords mode="keywords"></foc-asset-keywords>
</foc-details>

Modi: keywords, parentKeyword, freewords.

foc-asset-image — Asset-Bild

<foc-asset-image sku="DWT000342"></foc-asset-image>

JavaScript API

Konfiguration kann zur Laufzeit geändert werden:

FoComponents.changeToken('neuer-token');
FoComponents.changeHost('https://anderer-host.footage.one');
FoComponents.changeLanguage('en');
FoComponents.addFilter('aspect_norm_s', '16x9');
FoComponents.removeFilter('aspect_norm_s', '16x9');

Events

Alle Events lassen sich auf document abhören. Ihre Nutzdaten liegen auf event.data, nicht auf event.detail:

Event Beschreibung
foc:result Aktuelle Ergebnisliste
foc:result-count Anzahl der Ergebnisse
foc:facet-add Ein Filter wurde hinzugefügt
foc:facet-remove Ein Filter wurde entfernt
foc:facet-changed Liste der aktiven Filter
foc:search-start Suche gestartet
foc:search-end Suche abgeschlossen
foc:item-click Eine Ergebniskachel wurde geklickt (Daten: das Asset)