Media-Filter

xmstore Media-Filter (Video)

Die xmstore Media-Filter (zuvor "XDSO") bieten anspruchsvollen und technisch versierten Anwendern die maximale Freiheit bei der Umsetzung von Such- und Anzeigefunktionen.

Auf Basis von Media-Filter Einträgen können z.B. Ähnlichkeitssuchen, erweiterte Suchen und Anzeigefilter auf Basis der Kundendaten flexibel realisiert werden. Neben der manuellen Eintragung von Media-Filter Einträgen, besteht zusätzlich die Möglichkeit, über die Hookpoints (an festgelegte Positionen kundenspezifischen Programmierung) automatisch Media-Filter nach definierbaren Regeln eintragen zu lassen.

Zur Einbettung von Suchen und Links in das Frontend sind HTML- und Smarty-Kenntnisse nötig. Informationen finden Sie entsprechend unter [1] und [2].

Gerne bieten wir Ihnen die Umsetzung Ihrer Regeln durch unsere Entwickler an, wenn die dazu vorausgesetzten technischen Kenntnisse nicht vorhanden sein sollten.

Eingabe & Format

Media-Filter Einträge können im Detail jedes Mediums, mit dem Multi Editor oder auch automatisch über einen Hookpoint (z. B. auf Basis eines Suchworts) eingetragen werden. Das entsprechende Feld dazu findet sich direkt unter den Lokalisationsdaten und ist als Media-Filter bezeichnet. Weiterhin finden Sie bei den Kundendaten ein Feld für Media-Filter.

Media-Filter werden zunächst im Suchwortformat eingegeben, jedoch im Bezeichner=Wert Format. Bezeichner und Werte sind dabei frei wählbar. Um eine einwandfreie Funktion zu gewährleisten, sollten gleiche Daten jedoch bei jedem Medium immer den selben Bezeichner aufweisen.
Das folgende Beispiel veranschaulicht die Eingabe von Media-Filter anhand eines fiktiven Bildes. Die Groß- und Kleinschreibung muss beachtet werden.

Amount=1, Age=22, MR=1

Hier wurde die Anzahl der zu erkennenden Personen, das Alter und ein vorhandenes Modelrealease (MR=1 = Ja) angegeben.

Damit der Filter funktioniert, müssen die Filter immer exakt gleich bezeichnet werden. Da diese Informationen in Suchfeldern im Frontend ausgegeben werden, sollten die Namen und Werte möglichst eindeutig und kurz gewählt werden. Die Media-Filter können nur einsprachig definiert werden. Deswegen empfehlen wir eine englische Bezeichnung zu wählen.

Durchsuchen

Durchsuchen von Media-Filter funktioniert wie eine normale Suchwortsuche. Dazu wird ein Bezeichner-Wert-Paar in das traditionelle Suchwortfeld eingegeben und danach gesucht.

xmstore bietet zur individuellen und umstandslosen Gestaltung der erweiterten Suche einige Zusatzfunktionen zum Arbeiten mit Media-Filter Werten.

So unterstützt die Suche angaben aus mehreren Query-Feldern, was die Verwendung von Drop-Down-Feldern zur Eingabe von vordefinierten Media-Filter Paaren ermöglicht. Hierbei ist zu beachten, dass bei Verwendung mehrerer Query-Felder der name jedes dieser Felder von q auf q[] geändert werden muss (was dem PHP-Form-Array-Format entspricht). Zusätzliche Lokalisierungen für eigene Suchfelder können entweder in den frontend.locale_*.json hinzugefügt, oder mittels if-elif-else-Blöcken im Template realisiert werden.

Desweiteren stehen Smarty-Funktionen zur Verfügung, die Media-Filter-Paare aus einem String filtern, um die Ausgabe von Media-Filter in der Sucheingabemaske zu verhindern.
Die betreffende Funktion nennt sich xmstore_strip_Media-Filter_fields und wird wie im folgenden Beispiel angewendet:

{$oFrontend->searchData.q|xmstore_strip_Media-Filter_fields:'Persons,Model,Location'}

Achtung: Das Entfernen von Media-Filter-Paaren ohne zugehörige Formularelemente kann zu unerwünschtem Verhalten führen.


Beispiel für eine Searchlist mit Media-Filtern

Soll nach einem Media-Filter in einer Searchlist gesucht werden, muss der Bezeichner und der Wert durch ein "=" getrennt werden (Code "%3D").

Beispiel:

[[search-list|querystring=q=bezeichner%3Dwert&mt=1|limit=4|orderdesc=media_id|size=mini]]

Unterdrückung der Anzeige mit Media-Filtern

Durch den Einsatz von Media-Filter kann auch die Ausgabe von Medien im Frontend verhindert werden. Das System kann also so konfiguriert werden, dass durch die Media-Filter gekennzeichnete Medieninhalte evtl. nicht angezeigt werden sollen. Dabei wird aber nur die Ausgabe der Medien unterdrückt. Intern sucht und zählt das System auch diese Medien mit. Deswegen kann es dazu kommen, dass die Anzahl der Suchergebnisse oder die Anzahl der Thumbnails auf einer Seite nicht mit der Anzeige übereinstimmen.

Um das Problem zu umgehen, kann man die Anzahl der Suchergebisse und Anzahl der Thumbnails vor der Ausgabe über einen entsprechenden Parameter in der Datei Config.inc.php neu berechnen lassen. Bitte beachten Sie, dass diese nachträgliche Korrektur bei einer großen Menge von Suchergebnissen oder Kategorieinhalten die Ausgabe verlangsamt.

→ Weitere Informationen: Einstellungen

Direktlinks

Direktlinks auf eine Media-Filter-Suche definieren sich wie ebenfalls wie eine gewöhnliche Suchwortsuche. Beispiel:

/s/index0.html?q=Bezeichner%3DWert

→ Hauptartikel: Suche


Kundenabhängige Filterung

Media-Filter zur Einschränkung des Medienzugriffs

Die eingebenen Daten in den Media-Filter bei den Medien können im Zusammenhang mit den Media-Filter bei den einzelnene Kunden für Einschränkung oder Erweiterung der Mediendarstellung genutzt werden. .

Beispiele Erläuterung
* Neue Kunden dürfen alle Medien sehen (Voreinstellung, auch wenn Feld leer ist)
!* Neue Kunden dürfen vorerst keine Medien sehen
*, !FSK=16, !FSK=18 Neue Kunden dürfen alle Medien sehen, außer die mit Medien die FSK=16 oder FSK=18 gekennzeichnet wurden. Die Kunden, bei denen im Media-Filter FSK=18 freigegeben wurde, können auch diese sonst gesperrten Medien sehen.
*, !Lock=K1 Neue Kunden dürfen alle Medien sehen, außer die Medien, die mit Lock=K1 gekennzeichnet wurden. Die Kunden, bei denen im Media-Filter Lock=K1 freigegeben wurde, können auch diese sonst gesperrten Medien sehen.
!*, USE=Public Neue Kunden dürfen keine Medien sehen, mit Ausnahme der Medien, die mit USE=Public gekennzeichnet wurden
!*, USE=Public, Customer=MuellerGmbH Neue Kunden dürfen alle Medien mit dem Filter USE=Public und zusätzlich die, die mit Customer=MuellerGmbH gekennzeichnet wurden


Media-Filter Voreinstellungen für Kunden

Sie können auch für alle neuen Kunden automatisch die gewünschten Media-Filter eintragen lassen, um die Zugriffsrechte festzulegen.

Setup > Konfiguration > Kunden > Media-Filter neue Registrierung


Hier können Sie auch festlegen, welche Zugriffsrechte noch nicht angemeldete Kunden erhalten sollten

Setup > Konfiguration > Kunden > Media-Filter ohne Registierung


Hinweis
Achten Sie darauf, auch die bisherigen Kunden entsprechend anzupassen.


Media-Filter zum deaktivieren von Bezahlsystemen

Über das Media-Filter Feld in Kundendaten können für einzelne Kunden bestimmte Zahlungssysteme deaktiviert werden.
Die Syntax für diesen Filter lautet "nopay=<systemname>", z.B.

nopay=paypal

um das Zahlsystem "paypal" für den Kunden zu deaktivieren. Der anzugebende Name entspricht dem Ordnernamen des Bezahlsystems in FTP: /htdocs/data/payment/.

Passwortschutz

Der Media-Filter mit dem Bezeichner "Password" kann bereits im Auslieferungszustand als Passwortschutz verwendet werden. Er unterscheidet sich zu regulären Media-Filtern in der Hinsicht, dass die Ausgabe aller Medien mit diesem Media-Filter immer unterdrückt wird, entsprechende Medien aber gefunden und angezeigt werden, wenn ein vorhandener Password-Media-Filter gesucht wurde.

Empfohlen wird die Verwendung des Widgets:

[[search-password]]

Alternativ kann mit folgendem Code kann ein Suchfeld realisiert werden:

<input type="text" name="q[]" value="" id="mf_password" />

zusätzlich muss das Formular-Tag um ein Event ergänzt werden:

<form ... onsubmit="dojo.byId('mf_password').value = 'Password=' + dojo.byId('mf_password').value;">

Beachten Sie, dass diese Methode nur bei aktiviertem JavaScript funktioniert. Bei deaktiviertem JavaScript wird eine reguläre Suche nach dem eingegebenen Passwort gestartet.

Automatisierung mit PHP-Hookpoints

In Verbindung mit einer erweiterten PHP-Programmierung des entsprechenden Hookpoints sind zahlreiche weitere Funktion und Automatisierungen möglich.


Beispiel 1: Automatische Media-Filter auf Basis von Suchworten
Kommt das Suchtwort "Busen" beim Datenimport vor, setzte automatisch beim Import eine Media-Filter "FSK=16"


Beispiel 2: Automatische Media-Filter auf Basis der E-Mail-Adresse des Kunden
Hat ein Kunden die E-Mail-Endung "@schmitz-mediengruppe.de", hebe automatisch alle Sperren für alle Medien "lock=*" auf.


Beispiel 3: Automatische Media-Filter auf Basis des Landes des Kunden und bestimmten Urhebern
Alle Medieninhalte eines Urhebers (z. B. Fotograf Meier) dürfen nur in Deutschland angeboten werden und erhalten automatisch den Media-Filter "Region=DE"
Meldet sich ein Kunden aus dem Land "Schweiz" an, erhält er automatisch die Beschränkung, die Medieninhalte mit der Bezeichnung "Region=DE" nicht sehen zu können.


→ Hauptartikel PHP-Hookpoints


Hinweis
Durch die Media-Filter wird nur die Ausgabe der jeweiligen Medien verhindert. Die Kategorien und Anzahl der Suchergebnisse werden weiterhin vollständig angezeigt