Benutzerdefinierte Module sind wiederverwendbare Komponenten, die Sie auf Ihrer gesamten Website einsetzen können. Erstellen Sie sie nach bewährten Verfahren zur Verbesserung von Geschwindigkeit, Benutzerfreundlichkeit und Barrierefreiheit.
module.css
und module.js
von diesem Modul nur einmal. Standardmäßig werden module.css
und module.js
nicht asynchron geladen. Sie können dies jedoch ändern, indem Sie css_render_options und js_render_options in der meta.json des Moduls aufnehmen.
Module können im Design-Manager oder lokal über das HubSpot-CLI erstellt werden. Im Design-Manager werden die Moduldateien in einem Editor mit mehreren Fenstern angezeigt.
module.css
-Datei, um CSS zu einem Modul hinzuzufügen.
Im Allgemeinen unterstützt module.css
eine sehr begrenzte Teilmenge von HubL. Sie können jedoch module_asset_url("mein_bild.png")
für Bilder verwenden, die als modulverknüpfte Inhaltselemente hinzugefügt wurden. Dies ermöglicht die Verknüpfung von Elementen wie Bildern, die mit dem Modul selbst verpackt sind. Zum Beispiel:
module.html
-Datei Klassen festzulegen, die den CSS-Klassen in Ihrer module.css
-Datei entsprechen.
Sie können zum Beispiel ein Bild- und ein Textmodul haben. Sie möchten, dass Content-Autoren das Bild auf der Grundlage eines Auswahlfeldes rechts oder links vom Text positionieren können. Dazu könnten Sie Ihre module.html
- und module.css
-Dateien wie folgt festlegen:
require_css
-Blöcken verwenden.
Um Content-Autoren die direkte Kontrolle über bestimmte Eigenschaften zu geben, ohne Klassen zu verwenden, können Sie stattdessen Styling zur module.html
-Datei innerhalb von require_css
-Tags hinzufügen. Zum Beispiel:
module.html
HubL rendern kann, können Sie die Werte der Modulfelder als CSS-Variablen verwenden. Wenn ein Content-Autor das Feld im Seiten-Editor aktualisiert, wird das CSS entsprechend angepasst. Diese Blöcke verschieben die <style>
-Tags in die `<head>` Ihrer Seite innerhalb der `standard_header_includes`-Anweisung.
Sie können das CSS auch so festlegen, dass dessen Bereich nur für die Modulinstanz gilt, indem Sie das CSS mit `scope_css`-Tags umschließen. Sie könnten zum Beispiel den obigen Modulcode wie folgt aktualisieren:
require_css
-Blockmethode umsteigen.
require_css
ist eine HubL-Funktion, die Sie zu module.html hinzufügen können und die HubSpot mitteilt, dass ein bestimmtes Modul oder eine Vorlage eine bestimmte CSS-Datei zum Anzeigen benötigt. Ein Link-Tag, das auf die CSS-Datei verweist, wird der <head>
der Seite innerhalb des standard_header_includes
hinzugefügt.
Die require_css
-Funktion lädt diese CSS-Datei nur einmal, unabhängig davon, wie oft dieselbe Datei von Modulen und Vorlagen auf einer bestimmten Seite benötigt wird. Dies eignet sich hervorragend für Situationen, in denen Stile von mehreren Modulen gemeinsam genutzt werden. Das Hinzufügen von CSS direkt zu den Haupt-Stylesheets, die auf jeder Seite Ihrer Website verwendet werden, ist möglicherweise jedoch nicht sinnvoll.
require_css
und verlinkte CSS-Dateien erfüllen denselben Zweck, aber require_css
kann auf der Grundlage von Feldwerten bedingt verwendet werden. Dies verhindert das Laden von unnötigem Code.
module.js
-Datei, um JavaScript zu einem Modul hinzuzufügen.
Wie die module.css
-Datei unterstützt auch die module.js
-Datei kein HubL.
class="IhrKlassename"
unterstützen, unterstützen auch alle Elemente data-your-attribute="IhrWert"
.
require_js
-Block umschlossen ist, um Variablen bereitzustellen, auf die Sie von Ihrem Templating-Skript aus zugreifen können.
require_js
ist eine HubL-Funktion, die HubSpot mitteilt, dass ein bestimmtes Modul oder eine Vorlage eine bestimmte JavaScript-Datei benötigt, um korrekt geladen zu werden. Die Funktion benötigt zwei Parameter: den Pfad zur Datei und den Ort, an dem die Datei hinzugefügt werden soll (“head” oder “footer”).
In einem Modul kann require_js
nur zur module.html hinzugefügt werden. Die JavaScript-Datei, auf die in der require_js
-Anweisung verwiesen wird, wird nur einmal pro Seite geladen, unabhängig davon, wie oft sie von Modulen und Vorlagen auf der Seite benötigt wird. Dadurch wird die Anzahl der HTTP-Anfragen reduziert und doppelter Code vermieden.
Es gibt einige Situationen, in denen dies praktisch ist:
require_js
verwenden, um dieses Skript modulübergreifend zu nutzen.require_js
können Sie das JavaScript mit Ihrem Modul verknüpfen.require_js
und verknüpfte JavaScript-Dateien erfüllen denselben Zweck, aber require_js
kann auf der Grundlage von Feldwerten bedingt ausgeführt werden. Dadurch wird verhindert, dass unnötiger Code geladen wird. Außerdem haben Sie die Möglichkeit, JavaScript in die Kopfzeile zu laden, falls Sie dies benötigen.
require_js
JavaScript platziert. Erfahren Sie mehr über die Optimierung der Leistung.