Durchsuchbare Dokumentation aufrufen | Zurück zur Dokumentationsübersicht

Navigation: Dokumentationen agorum core > agorum core für Entwickler > agorum.home anpassen


Link-Handler registrieren

Sie können eigene Link-Handler registrieren, um das Standardverhalten beim Klicken auf Links innerhalb von agorum home zu überschreiben. So lassen sich etwa mailto:-Links so umleiten, dass statt des lokalen E-Mail-Programms der interne E-Mail-Editor von agorum core geöffnet wird.

Hinweis: Seit Version 11.13 werden http(s)-Links im Standard in einem neuen Browserfenster geöffnet, sofern kein anderes Verhalten für den Link angegeben ist.

Funktionsweise

Wenn ein Benutzer in agorum home auf einen Link klickt, prüft das System, ob ein registrierter Link-Handler für die jeweilige URL existiert. Wird ein passender Handler gefunden, übernimmt dieser die Verarbeitung des Links. Andernfalls greift das Standardverhalten des Browsers.

Ein Link-Handler ist ein JavaScript-Modul, das:

JavaScript-Handler für agorum.mail (Beispiel)

Das folgende Beispiel zeigt einen Link-Handler, der mailto:-Links abfängt und statt des lokalen E-Mail-Programms den internen E-Mail-Editor von agorum core (agorum.mail) öffnet.

let mail = require('/agorum/roi/customers/agorum.mail/js/mail');

// href: /^mailto:/i

/**
 * @param {string} href
 */
module.exports = href =>
  mail.draft({
    to: href.slice(href.indexOf(':') + 1),
  });

Speichern Sie den Handler in Ihrem Konfigurationsprojekt, beispielsweise unter folgendem Pfad:

/agorum/roi/customers/agorum.doc.test/js/link/mailto.js

Erklärung:

Das Skript öffnet den E-Mail-Editor von agorum.mail mit einem neuen Entwurf. Die E-Mail-Adresse wird aus der URL extrahiert.

Registrierung in der MetaDB

Link-Handler werden in der MetaDB unter folgendem Pfad registriert:

MAIN_MODULE_MANAGEMENT/customers/agorum.home/links

Einen Link-Handler in der MetaDB anlegen

  1. Öffnen Sie die MetaDB über Administration > MetaDB.
  2. Navigieren Sie zum Pfad: MAIN_MODULE_MANAGEMENT/customers/agorum.home/
  3. Erstellen Sie dort (falls noch nicht vorhanden) ein Property-Bundle mit dem Namen: links
  4. Erstellen Sie eine neue Property-Gruppe mit dem Namen des Konfigurationsprojekts, in dem Sie den JavaScript-Handler erstellt haben. Beispiel: [ agorum.doc.test ]
  5. Erstellen Sie ein neues Property-Bundle für die Handler-Einstellungen. Beispiel: 0100 agorum.doc.test
  6. Erstellen Sie innerhalb des neu erstellten Property-Bundles zwei neue Property-Entries, jeweils mit dem Datentyp Inhalt (Content).
     
    Name Wert
    href Definition des URL-Musters (verwendet für das auskommentierte URL-Muster im Code)
    script Pfad zum JavaScript-Handler in Ihrem Konfigurationsprojekt. Beispiel:
    /agorum/roi/customers/agorum.doc.test/js/link/mailto
  7. Testen Sie, dass mailto-Links nun im agorum core E-Mail-Editor und nicht mehr im Client-Programm geöffnet werden.

Weitere Anwendungsbeispiele für Link-Handler

Das Konzept der Link-Handler ist nicht auf mailto:-Links beschränkt. Sie können Handler für beliebige URL-Muster erstellen und etwa HTTP(S)-Links mit benutzerdefinierter Logik behandeln.