Webvorlagen als API
Die Tabelle Seitenvorlage besitzt eine Einstellung, die festlegt, ob die Seite bei Verwendung einer Webvorlage die allgemeinen Kopf‑ und Fußzeilenvorlagen der Website verwenden soll.
Wenn die Kopf‑ und Fußzeilen einer Website nicht verwendet werden, geht die Vorlage davon aus, dass sie zum Generieren der gesamten Seitenausgabe zuständig ist. Wenn Sie HTML rendern, umfasst dieser Output den Doctype bis hin zum <html>
-Element und alles dazwischen. Dieser Ansatz kann in verschiedenen Szenarien nützlich sein, wie:
Spezialseiten, die anders aussehen müssen als der Rest des Portals, wie Angebotsseiten für Marketingkampagnen.
Die Webvorlage generiert Nicht-HTML-Inhalte und gibt Daten im XML-Format, JSON-Format oder anderen Formaten zurück.
Sie können beispielsweise eine Webvorlage erstellen, die eine Liste von Konten oder anderen Daten zurückgibt, auf die der aktuelle Benutzer im JSON
-Format Zugriff hat.
{% entityview logical_name:'account', name:'Active Accounts' %}
[
{% for acc in entityview.records -%}
{
"name": "{{ acc.name }}",
"phone": "{{ acc.telephone1 }}"
}{% unless forloop.last %},{% endunless %}
{% endfor -%}
]
{% endentityview %}
Hinweis
In diesem Beispiel können Sie anstelle des entityview
-Tags die FetchXML-Abfrage innerhalb des fetchxml
-Tags verwenden. Die Verwendung von Inline-FetchXML verleiht der Abfrage eine gewisse Flexibilität. Sie können die Abfrage dynamisch mithilfe von Vorlagenparametern oder sogar dem Objekt request
erstellen, das Zeichenfolgenparameter für Abfragen einer aktuellen HTTP-Seitenanforderung enthält.
Sie verwenden diese Vorlage ohne Kopf‑ und Fußzeile, der MIME-Typ ist auf application/json
festgelegt. Die Ausgabe ähnelt dem folgenden Beispiel:
[
{
"name": "A Datum Corporation",
"phone": "425-555-0182"
},
{
"name": "A Datum Fabrication",
"phone": "303-555-0134"
},
{
"name": "A Datum Integration",
"phone": "512-555-0163"
},
{
"name": "A. Datum",
"phone": "+86-23-4444-0100"
},
{
"name": "Adventure Works",
"phone": "+27-264-1234567"
}
]
Tipp
Erwägen Sie gegebenenfalls die Verwendung der Web-API für Portale für den Datenabruf. Web-API für Portale ist schnell und vermeidet die serverseitige Vorlagenverarbeitung vollständig. Wenn jedoch eine Datentransformation erforderlich ist, müssen Sie diese mithilfe von JavaScript auf der Clientseite durchführen. Liquid-Vorlagen hingegen können die Daten vollständig serverseitig transformieren und nutzen. Weitere Informationen finden Sie unter Daten über die Portale-Web-API abfragen.
Die Seite, die diese Webvorlage verwendet, wird nicht von den Benutzern in einem Browser verwendet, sondern aus JavaScript-Code aufgerufen, wodurch ein API-Endpunkt für Ihre Lösung definiert wird. JavaScript auf einer anderen Seite kann diese Daten bei Bedarf laden und rendern.
Die Autorisierung ist verfügbar, und der Zugriff auf Microsoft Dataverse-Daten, die diese kopfzeilenlose Vorlage verwenden, ist nicht anders als in Fällen, in denen die Ausgabe als HTML gerendert wurde. Die aufrufende Seite erfordert normalerweise eine Benutzerauthentifizierung, bevor der Endpunkt aufgerufen wird.