Letzte Änderung: 28. August 2025
Benutzerdefinierte Angebotsvorlagen können direkt über die Vorlagen auf Angebotsdaten und einige zugeordnete Objekte zugreifen. Die verfügbaren Daten hängen von Daten ab, die Sie in Ihrem CRM haben, sowie von Daten, die dem Angebot selbst hinzugefügt wurden. Beim Entwickeln einer Angebotsvorlage können Sie von HubSpot bereitgestellte Mock-Daten verwenden, um die Vorlage zu füllen, was beim Anzeigen einer Vorschau der Vorlage helfen kann. Gehen Sie im @hubspot-Ordner zum cms-quotes-theme-Ordner. Zeigen Sie im templates-Ordner die Vorlagen basic.html, modern.html oder original.html an. Diese Vorlagen enthalten oben folgenden Code-Block:
{% from "../imports/mock_data.html" import SAMPLE_TEMPLATE_DATA as mock_data %}
{% from "../imports/module_defaults.html" import MODULE_DEFAULTS as module_defaults %}
{% set QUOTE = template_data.quote || mock_data.quote %}
{% set CURRENCY = QUOTE.hs_currency || "USD" %}
{% set LOCALE = QUOTE.hs_locale || "en-US" %}
{% set ASSOCIATED_OBJECTS = QUOTE.associated_objects %}
{% set LINE_ITEMS = ASSOCIATED_OBJECTS.line_items %}
{% set ADDITIONAL_FEES = ASSOCIATED_OBJECTS.additional_fees %}
{% set TOTALS = ASSOCIATED_OBJECTS.totals || ASSOCIATED_OBJECTS.totals %}
{% set QUOTE_TOTAL = TOTALS.total %}
{% set SUB_TOTALS = TOTALS.subtotals %}
{% set DEAL = ASSOCIATED_OBJECTS.deal %}
Die Mock-Daten werden zuerst aus der mock_data.html-Datei importiert und dann auf die QUOTE-Variable festgelegt, um die in template_data gefundenen Daten zu verwenden, falls verfügbar. Die QUOTE-Variable wird auch zum Ausfüllen der anderen Variablen in dieser Liste verwendet, z. B. ASSOCIATED_OBJECTS, um den Zugriff auf diese Daten zu vereinfachen. Sie können Ihre Daten jedoch je nach Ihren Vorlieben unterschiedlich strukturieren. Im obigen Code werden Sie feststellen, dass template_data auch verwendet wird, um die Haupt-QUOTE-Variable festzulegen. template_data ist ein Objekt, das alle tatsächlichen Daten für das Angebot und den Deal auf der Seite enthält. Wenn dieses Objekt nicht in der Vorlage gefunden wird, lädt HubSpot stattdessen die Daten von mock_data.html.

Template_data-Objekt

Der überwiegende Teil der Daten kann direkt über das template_data-Objekt abgerufen werden. Sie können {{ template_data|pprint }} in Ihrer Vorlage verwenden, um das vollständige bereitgestellte Objekt anzuzeigen.
VariableTypeDescription
template_datadictEin Dict, das das Angebot, quote.associated_objects und die Gesamtanzahl der Dicts enthält.

Angebotsvariablen

Die spezifischen Informationen zu diesem individuellen Angebot.
VariableTypeDescription
template_data.quotedictDict, das alle Daten für das Angebot selbst enthält.
template_data.quote.associated_objects.deal.hs_object_idIntegerDeal-ID
template_data.quote.hubspot_owner_idIntegerID des zuständigen Mitarbeiters für einen Deal
template_data.quote.hs_all_owner_idsinteger or array of integersIDs der zuständigen Mitarbeiters für einen Deal
template_data.quote.hs_created_by_user_idIntegerBenutzer, der das Angebot erstellt hat.
template_data.quote.hs_lastmodifieddatedatetimeDatum, an dem das Angebot zuletzt bearbeitet wurde. Im Epoche-Format.
template_data.quote.hubspot_owner_assigneddatedatetimeDatum, an dem dem Angebot ein Mitarbeiter zugewiesen wurde. Im Epoche-Format.
template_data.quote.hs_createdatedatetimeZeitpunkt (Datum und Uhrzeit), zu dem das Angebot erstellt wurde. Im Epoche-Format.
template_data.quote.hs_expiration_datedatetimeAblaufdatum des Angebots. Im Epoche-Format.
template_data.quote.hs_titleStringAngebotstitel
template_data.quote.hs_template_typeString”CUSTOMIZABLE_QUOTE_TEMPLATE”
template_data.quote.hs_slugStringURL-Slug für die Angebots-Webseite.
template_data.quote.hs_proposal_template_pathStringEntwickler-Dateisystempfad zur Vorlage. (umfasst Dateierweiterung)
template_data.quote.hs_quote_amountStringGeldbetrag
template_data.quote.hs_currencyStringWährung, in der der Angebotsbetrag in einem 3-stelligen ISO 4217-Währungscode angegeben ist.„€“
template_data.quote.hs_languageStringSprachcode„de“
template_data.quote.hs_localeStringGebietsschema„de-de“
template_data.quote.hs_termsStringText für die Bedingungen, der vom Ersteller des Angebots bereitgestellt wird
template_data.quote.hs_sender_firstnameStringVorname der Person, die das Angebot sendet.
template_data.quote.hs_sender_company_nameStringUnternehmensname der Person, die das Angebot sendet
template_data.quote.hs_sender_company_image_urlStringUnternehmenslogo für die Person, die das Angebot sendet.
template_data.quote.hs_statusStringStatus des Angebots.„APPROVAL_NOT_NEEDED“
template_data.quote.hs_primary_colorstring/hex color code„#425b76“
template_data.quote.hs_quote_numberStringEindeutige ID-Nummer des Angebots.
template_data.quote.hs_payment_enabledbooleanWird verwendet, um zu testen, ob Zahlungsfelder angezeigt werden müssen.
template_data.quote.hs_esign_enabledbooleanWird verwendet, um zu testen, ob eSgnature-Felder angezeigt werden müssen.
Sie können eine Variable, nach der Sie suchen, nicht finden?Es gibt weitere Variablen, auf die Sie in template_data zugreifen können. Verwenden Sie |pprint, um sie anzuzeigen. Darüber hinaus können einige Variablen in Angebotszuordnungen nur basierend auf dem Angebot/Deal verfügbar sein.Wir werden diese Dokumentation weiter ausbauen, um mehr Daten, auf die Sie Zugriff haben, zu präsentieren und zu erklären. Abgesehen vom Pretty Printing können Sie die Mock-Datendatei innerhalb des cms-quote-theme anzeigen, um zu sehen, was verfügbar ist und in welche Struktur es kommt.

Zugeordnete Objekte

In einer Angebotsvorlage können Sie mithilfe von associated_objects auf Daten von den zugeordneten Datensätzen eines Angebots zugreifen, z. B. Deals oder Unternehmen. Beispielsweise können Sie das Logo aus dem zugeordneten Unternehmensdatensatz des Angebotsempfängers zu einem Angebot hinzufügen, indem Sie den folgenden Code verwenden:
{% set company_avatar_url = template_data.quote.associated_objects.company.hs_avatar_filemanager_key %}
{% if company_avatar_url %}
  <img src="{{ template_data.quote.associated_objects.company.hs_avatar_filemanager_key }}" width="400" alt="{{ template_data.quote.associated_objects.company.name }}">
{% else %}
  <!-- company does not have an assigned image-->
{% endif %}

Bitte beachten:

Es werden nur manuell festgelegte Logos angezeigt. Automatisch erkannte Logos werden nicht angezeigt. Damit soll verhindert werden, dass unbeabsichtigte Logos auf der Angebotsvorlage erscheinen.
Der obige Code legt zunächst eine Variable fest, die nach dem Logo des dem Angebot zugeordneten Unternehmens sucht. Mithilfe einer if-Anweisung zeigt die Vorlage dann dieses Logo an, falls verfügbar. Wurde für das Unternehmen kein Logo manuell festgelegt, wird kein Logo angezeigt.

Benutzerdefinierte Objekte

Benutzerdefinierte Objektdaten können in einem Angebot auf verschiedene Arten angezeigt oder verwendet werden. Da die Struktur der einzelnen benutzerdefinierten Objekte variieren kann, müssen Sie bestimmte Eigenschaften basierend auf der Struktur Ihres benutzerdefinierten Objekts abrufen. Das template_data-Angebot enthält standardmäßig benutzerdefinierte zugeordnete Objekte. Beispielsweise sind benutzerdefinierte Objekte, die Deals zugeordnet sind, enthalten. Um darauf zuzugreifen, können Sie den folgenden Code verwenden:
{% set quote_associated_custom_objects = template_data.quote.associated_objects.deal.associated_objects.custom_objects %}

{{ quote_associated_custom_objects|pprint }}
{# |pprint is useful for understanding the structure of the data, you can leave it off when outputting values for display. #}

Bitte beachten:

Da benutzerdefinierte Objekte für jeden Account eindeutig sind, enthalten die Mock-Daten kein benutzerdefiniertes Beispielobjekt. Dies bedeutet, dass Sie in der Vorlagenvorschau im Design-Manager möglicherweise einen Fehler sehen oder die benutzerdefinierten Objektdaten werden einfach nicht angezeigt. Sie müssen stattdessen eine Vorschau der Vorlage mit Ihren echten CRM-Daten anzeigen. Dies können Sie tun, indem Sie ein Angebot aus der Vorlage erstellen.
Sie können dann auf jeden benutzerdefinierten Objekttyp zugreifen, indem Sie seine benutzerdefinierte Objekttyp-ID mit Unterstrichen formatiert anhängen. Zum Beispiel: template_data.quote.associated_objects.deal.associated_objects.custom_objects._2_2193031 Außerdem können Sie ein benutzerdefiniertes Objekt mithilfe der Funktionen crm_associations() und crm_objects() suchen. Wenn Sie beispielsweise ein benutzerdefiniertes Objekt suchen möchten, das einem Deal zugeordnet ist, können Sie Daten von template_Data eingeben:
{% set quote_associated_object = crm_associations(template_data.quote.associated_objects.deal.hs_object_id, "USER_DEFINED", 152) %}
{# 152 is an example of an association type id, you would need to use the appropriate id for your use-case. #}
{{ quote_associated_object }}

Weiterführende Ressourcen