Table of Contents

HTML-Aktion

Einleitung

Diese Aktion können Sie nutzen, um in der Administration zusätzliche Informationen einzubinden, die Sie allen oder ausgewählten Benutzern und Business-Logins zur Verfügung stellen.

Beispiele

  • Wenn ein Kunde sich im B2B-Portal anmeldet, soll automatisch ein Arbeitsbereich aufgerufen werden, in dem individuelle Informationen auf einer Seite dargestellt werden, die auf den Kunden zugeschnitten sind.
    Diese Informationen ermitteln Sie im Rahmen einer HTML-Aktion, die Sie wiederum als zusätzlichen Inhalt definieren und nur für die betreffende Business-Login-Gruppe freigegeben haben.

Auslöser

Die HTML-Aktion selbst verfügt über keinen Auslöser. Sie wird ausgelöst, wenn ein definierter Inhalt aufgerufen oder aktualisiert wird, dem die HTML-Aktion selbst zugeordnet ist.

Eingabeparameter

Neben den allgemeinen werden zusätzlich diese Paramater übergeben:

Key Datentyp Value
EntityKey string Der Schlüssel der Entität auf dem die Aktion ausgeführt wurde.
EntityType string Der Typ der Entität auf der die Aktion ausgeführt wurde.
DisplayAreaTechnicalKey string Der technische Schlüssel des Anzeigebereichs in der die Aktion ausgeführt wurde. (Zum Beispiel Kundendashboard).

Im Kontext von Kunden werden zusätzlich folgende Parameter übergeben:

Key Datentyp Value
ContactType string der Kontakttyp
AddressId int die Adressnummer (KHKAdressen.Adresse)
AccountId string die Kunden-/Lieferantennummer (KHKKontokorrent.Kto)
ContactPersonId int die Id des Ansprechpartners (KHKAnsprechpartner.Nummer)

Kontakttypen:

  • Adresse/Interessent (address)
  • Ansprechpartner (contactPerson)
  • Interessent (prospect)
  • Kunde (customer)
  • Lieferant (supplier)

Ausgabeparameter

Es werden die allgemeinen Rückmeldungen erwartet.

Key Datentyp Value
Html string HTML-Code für die Anzeige in einem iFrame

Beispiel

Codebeispiel
using System;
using System.Collections.Generic;
 
namespace Custom.TestAssembly.CustomInformation
{
  public class Example
  {
    public Dictionary<string, object> Execute(Dictionary<string, object> parameter)
    {
      return new Dictionary<string, object>
      {
        { "Prompt", new Dictionary<string, object>()
          {
            { "Name", "HtmlCustomInformationAction" },
            { "Html", GetPromptHtml(parameter) }
          }
        }
      };
    }
 
    private string GetPromptHtml(Dictionary<string, object> parameter)
    {
      var locationKey = parameter.TryGetValue("LocationKey", out var locationKeyObj) ? locationKeyObj as string : null;
      var cultureId = parameter.TryGetValue("CultureId", out var cultureIdObj) && cultureIdObj != null ? cultureIdObj?.ToString() : "de-DE (Fallback)";
      var entityKey = parameter.TryGetValue("EntityKey", out var entityKeyObj) ? entityKeyObj as string : null;
      var entityType = parameter.TryGetValue("EntityType", out var entityTypeObj) ? entityTypeObj as string : null;
      var displayArea = parameter.TryGetValue("DisplayAreaTechnicalKey", out var displayAreaTechnicalKeyObj) ? displayAreaTechnicalKeyObj as string : null;
 
      return String.Format(@"<!DOCTYPE html>
      <html>
        <head>
          <link
            rel='stylesheet'
            href='https://edev.4sellers.de/api/asset/64331/style.css'
          />
        </head>
        <body>
          <h2>Custom Information - Metadata</h2>
           <ul>
            <li>Location Key: {0}</li>
            <li>Culture Id: {1}</li>
            <li>Entity Key: {2}</li>
            <li>Entity Type: {3}</li>
            <li>Display Area Technical Key: {4}</li>
          </ul>
        </body>
      </html>
      '", locationKey, cultureId, entityKey, entityType, displayArea);
    }
  }
}