Letzte Änderung: 12. September 2025
‘Erfahren Sie mehr über die Anforderungen, die Module eines Designs erfüllen müssen, wenn sie beim HubSpot-Marketplace für Vorlagen eingereicht werden.’;
Hier erfahren Sie mehr über die Anforderungen, die beim Einreichen eines Moduls für den HubSpot-Marketplace für Vorlagen erfüllt sein müssen. Diese Anforderungen gelten sowohl für Module in einem Design als auch für unabhängige Module.
Modulbeschränkungen
Module dürfen Folgendes nicht enthalten: HubDB, Aufrufe von serverlosen Funktionen oder das CRM-Objektfeld. Die folgenden Modultypen sollten nicht als eigenständige Module gebaut werden- HTML
- Module in voller Breite
- Formulare und Formulare mit mehreren Schritten
- Abstandshalter-Module oder Module, die eine Gliederung Ihrer Seite ohne UI erstellen
- Module, die die Standardmodulfunktionalität duplizieren
- Handelsspezifische Module
- E-Mail-spezifische Module
Modul-Content
Erfahren Sie mehr über die Anforderungen für Modul-Label und Hilfetext, Felder und Standard-Content.Modul-Label und Hilfetext
- Die Module müssen aussagekräftige Label haben, die den Zweck des Moduls vermitteln. Das Label Hero-Banner mit Parallax Scrolling ist beschreibend, die Label Hero-Banner und Galerie dagegen nicht.
- Modul-Label dürfen keine Zahlen enthalten, z. B. Hero-Banner 01.
- Modul-Label dürfen keine Unterstriche enthalten.
- Modul-Label dürfen keine Abkürzungen enthalten, z. B. Sp anstelle von „Spalte“.
- Module müssen Inline-Hilfetext enthalten (sofern zutreffend), um die Verwendung des Moduls weiterzuleiten.
- Module dürfen nicht nach einem Standardmodul benannt werden.
- Bei unabhängigen Modulen sollte das Modul-Label mit dem Namen im Vorlagen-Listing übereinstimmen. Wenn Ihr Vorlagen-Listing beispielsweise SuperAwesome Banner with Scrolling ist, sollte Ihr Modul-Label identisch sein.
Standard-Content
- Das Standardfeld darf keinen Lorem ipsum-Text enthalten.
- Der Standardinhalt für ein Feld sollte Auskunft über dessen Zweck geben:
- Beim Einfügen von Menüfeldern müssen Module als Standardinhaltsoption Menü auswählen verwenden.
- Beim Einfügen von Formularfeldern müssen Module als Standardinhaltsoption Formular auswählen verwenden.
- Beim Einfügen von Blog-Auswahlfeldern müssen Module als Standardinhaltsoption Blog auswählen verwenden.
- Wenn das Hinzufügen von Standard-Content zu einem Modul keinen Sinn ergibt, verwenden Sie stattdessen einen Modul-Platzhalter, um dem Content-Autor zu helfen, den Bereich zu visualisieren, den er mit Inhalten füllt.
Modulsymbole
Module müssen ein benutzerdefiniertes Symbol enthalten, das dem Modul zugewiesen ist (und das Standardsymbol ersetzt). Verwenden Sie keine Unternehmenslogos als Symbole, z. B. Apple- oder Amazon-Logos. Für Module, die Teil eines Designs sind, sollte jedes Modul ein eindeutiges und relevantes Symbol haben. Erfahren Sie mehr über Modulsymbole.Module, die Drittanbieterkonten erfordern
Wenn für einzelne Module ein Drittanbieterkonto erforderlich ist, muss dies in der Vorlagenbeschreibung angegeben werden. Wenn Ihr Modul beispielsweise die Google Maps-Plattform verwendet, müssen Sie einen Hinweis hinzufügen: „Die Verwendung dieses Moduls erfordert ein Google Cloud-Konto (Google Maps Platform).“Modulfelder
Überprüfen Sie unten die spezifischen Anforderungen für Module in einem Design und unabhängige Module- Module in einem Design:
- Müssen Inline-Hilfetext und spezifische Standardinhalte für bestimmte Felder enthalten.
- Mindestens ein Logofeld muss von den Markeneinstellungen des Accounts etwas übernehmen. Wenn Sie ein Bildfeld zum Rendern eines Logos verwenden, muss das Bildfeld nicht die Markeneinstellungen übernehmen.
- Module in einem Design und unabhängige Module:
- Modulfeldnamen sollten den Zweck des Feldes beschreiben. Wenn beispielsweise ein Textfeld die Jobbezeichnung einer Person enthalten soll, wäre Jobbezeichnung eine passende Beschreibung, Bezeichnung jedoch nicht.
- Alle Standardmodule von HubSpot müssen formatiert sein und in allen eingereichten Vorlagen korrekt angezeigt werden.
fields.json- und module.html-Konfiguration
Um eine kompatible Funktionalität zwischen Designs und unabhängigen Modulen zu gewährleisten, müssen Module die Farb- und Schriftfelder erben, entweder durch die Definition vondefault_value_path
oder property_value_paths
oder durch die Definition beider Felder in der entsprechenden fields.json
-Datei sowie durch Hinzufügen einer Referenz auf die Designfelder in der module.html
-Datei. Erfahren Sie mehr über diese Anforderungen.
Modulcodequalität
Module müssen eigenständig sein.
Designmodule
Alle für Ihr Designmodul erforderlichen Dateien, wie CSS oder JavaScript, müssen im Designordner und im Designverzeichnis enthalten sein. Sie können die Funktion „Verlinkte Dateien“ im Design-Manager verwenden. Oder Sie schließen die Dateien mit den Funktionen require_js() oder require_css() mit einem relativen Pfad zur Datei ein. Für gängige Bibliotheken wie slick.js können Sie sie mit den Funktionenrequire_js()
oder require_css()
mit einer absoluten URL zum CDN hinzufügen, in dem sie gehostet werden.
Unabhängige Module
Für unabhängige Module sollten alle CSS- und Javascript-Dateien entweder inmodule.css
oder in module.js
enthalten sein. Wahlweise können Sie die Dateien mit den Funktionen require_js()
oder require_css()
mit einer absoluten URL zum CDN hinzufügen, in dem sie gehostet werden. Die Funktion „Verlinkte Dateien“ im Design-Manager kann nicht verwendet werden, da diese nur für Designmodule verfügbar ist.
Da module.js
im DOM vor allen require_js
- oder require_css
-Dateien enthalten ist, sollte Javascript im Abschnitt module.js
mit der folgenden Anmerkung zurückgestellt werden:
Code-Einschränkungen für unabhängige Module
Die folgenden Einschränkungen gelten nur für unabhängige Module:- Es wird empfohlen, nach Möglichkeit vanilla JS zu verwenden. Das Hinzufügen einer jQuery-Bibliothek zu einer Website, die nicht jQuery verwendet, kann möglicherweise zu Konflikten führen und die Website-Seite verlangsamen.
- Wenn Sie eine jQuery-Bibliothek verwenden, nehmen Sie die Bibliothek über die require_js()-Funktion auf, sofern jQuery mit dem Kontrollkästchen (Boolesch) in den Account-Einstellungen deaktiviert ist, um Konflikte aus mehreren jQuery-Bibliotheken zu vermeiden.
Kategorien
- Alle unabhängigen Module müssen mindestens eine Kategorie haben. Module, die als Teil eines Designs übermittelt werden, müssen keine Kategorien haben. Es wird jedoch empfohlen, mindestens eine aufzunehmen. Erfahren Sie mehr über das Hinzufügen von Kategorien zu Modulen.
Selektoren für Klassennamen
- Jedem Klassennamen-Selektor muss der Modulname vorangestellt werden, wobei Leerzeichen durch Bindestriche ersetzt werden. Im Folgenden finden Sie beispielsweise die Datei
module.html
für eine Schaltfläche namensexample-button
, wobei jeder Klassenname und der CSS-Selektor seinen Namen widerspiegeln.
Stile und JavaScript
- Stile:
- Module dürfen keine leere Stilgruppe enthalten.
- Das Hartcodieren von Inline-Stilen innerhalb von Modulen wird nicht empfohlen. Verwenden Sie stattdessen dynamische Inlineformatvorlagen, indem Sie Felder zur Steuerung von Stilen aktivieren.
- JavaScript:
- JavaScript muss immer mehrere Instanzen eines Moduls darstellen können. JavaScript im JS-Fenster wird nur einmal pro Seite geladen, unabhängig davon, wie häufig ein Modul vorkommt.
- JavaScript sollte DOM-Elemente anhand von modulspezifischen Klassennamen referenzieren, um sicherzustellen, dass Elemente außerhalb des Moduls nicht unbeabsichtigt betroffen sind.
{{name}}
verwenden. Diese Variable ruft die Instanz-ID des Moduls ab (kann nur im Fenster „HTML+HubL“ verwendet werden), um beim CSS- und JS-Markup für komplexe Module zu helfen. Erfahren Sie mehr darüber in der Entwicklerdokumentation.
Feldstruktur
Es müssen die folgenden Anforderungen an die Feldstruktur und -gruppierung erfüllt sein.Registerkarte „Content“
- Wenn es innerhalb einer Feldgruppe mindestens ein Steuerelement gibt, müssen alle Steuerelemente in nach ihrer Funktion gekennzeichneten Kategorien gruppiert werden.
- Modulfelder, die der Registerkarte Content hinzugefügt wurden, müssen es ermöglichen, den Content eines Moduls anzupassen. Zum Beispiel Steuerelemente für Bilder, Symbole, ALT-Text und Links.
Registerkarte „Stile“
Die Modulstil-Feldgruppen müssen konsistent sein und einem Muster folgen. Nachfolgend finden Sie eine empfohlene Reihenfolge für Ihre Stilfeldgruppen. Diese Gruppen können sich auf der obersten Ebene befinden oder dürfen nur mit einer direkt darunterliegenden Gruppe verschachtelt sein. Leere Gruppen können auch entfernt werden:- Voreinstellungen
- Text
- Hintergrund
- Rahmen
- Hover
- Ecke
- Abstand
- Ausrichtung
- Benutzerdefinierte Stilgruppen, die nicht zu den oben genannten passen
- Erweitert
- Die Animationsoptionen sollten immer am unteren Rand der Feldgruppenliste positioniert werden.
- Optionen, die es Content-Autoren ermöglichen, Code-Snippets oder CSS hinzuzufügen, sollten am Ende der Feldgruppenliste unter einem Feld Erweitert gruppiert werden.
- Die Steuerelemente sollten über alle Module hinweg standardisiert werden. Zum Beispiel sollten alle Elemente, die ein Steuerelement für den Rahmenradius haben können, dieses Steuerelement anbieten. Es ist nicht ratsam, Steuerelemente für einige Module anzubieten und für andere nicht.
-
Modulfelder, die der Registerkarte Stil hinzugefügt werden, müssen Möglichkeiten zum Bearbeiten des Modulstiels bieten. Zum Beispiel:
- Stiloptionen wie Farbe, Textstil, Ausrichtung, Abstand, Rahmen und Eckenradius.
- Animationen wie Hover- und Slide-In-Effekte.
- Voreinstellungen wie dunkle und helle Designs, bei denen viele Stile gleichzeitig geändert werden.
Beispiele für Feldorganisation
Voreinstellungen
Voreinstellungen können verwendet werden, um die Optionen für Content-Autoren zu begrenzen, da einige Optionen an die Designeinstellungen gebunden sind. Zum Beispiel enthält das im Growth-Design enthaltene Modul Symbol Voreinstellungen für Dunkel und Hell, um der Website ein konsistentes Erscheinungsbild zu geben, sofern es auf die gesamte Website angewendet wird.Multi-Level-Gruppierung
Wenn Sie noch nicht wissen, ob Sie Stilfelder auf der obersten Ebene halten oder verschachteln möchten, sollten Sie sich das folgende Beispiel ansehen.Gruppieren von einzelnen Feldern
Das Schaltflächenmodul unten enthält Gruppierungen für Voreinstellungen, Text, Hintergrund und mehr. Obwohl die Feldgruppe Ecke nur das Steuerelement „Eckenradius“ enthält, ist sie dennoch gruppiert, um eine einheitliche Erfahrung bei der Content-Erstellung zu schaffen.
