Les modules personnalisés sont des composants réutilisables que vous pouvez utiliser sur votre site web. Créez-les en respectant les meilleures pratiques en matière de vitesse, d’expérience utilisateur et d’accessibilité.
module.css
et module.js
de ce module. Par défaut, module.css
et module.js
ne se chargent pas de manière asynchrone, mais vous pouvez changer cela en incluant css_render_options et js_render_options dans le meta.json du module.
Les modules peuvent être construits dans le gestionnaire de conception ou localement en utilisant HubSpot CLI. Dans le gestionnaire de conception, les fichiers de modules sont affichés dans un éditeur à plusieurs volets.
module.css
pour ajouter de la CSS à un module.
En général, module.css
prend en charge un sous-ensemble très limité de HubL. Cependant, vous pouvez utiliser module_asset_url("my-image.png")
pour les images ajoutées en tant que ressources associées à un module. Cela permet d’associer des ressources telles que des images, compilées avec le module lui-même. Par exemple :
module.html
qui correspondent aux classes CSS dans votre fichier module.css
.
Par exemple, vous pouvez avoir un module image et un module texte. Vous souhaitez que les créateurs de contenu puissent positionner l’image à droite ou à gauche du texte en fonction d’un champ de sélection. Pour ce faire, vous pouvez définir vos fichiers module.html
et module.css
comme suit :
require_css
sont la meilleure option.
Pour donner aux créateurs de contenu un contrôle direct sur des propriétés spécifiques sans utiliser de classes, vous pouvez ajouter du style au fichier module.html
dans les balises require_css
. Par exemple :
module.html
peut rendre HubL, vous pouvez utiliser les valeurs des champs du module comme variables CSS. Lorsqu’un créateur de contenu met à jour le champ dans l’éditeur de page, la CSS est mise à jour en conséquence. Ces blocs déplacent les balises <style>
dans le <head>
de votre page, dans l’annonce standard_header_includes
.
Vous pouvez également configurer la CSS pour qu’elle ne s’applique qu’à l’instance du module en l’encadrant de balises scope_css
. Par exemple, vous pouvez mettre à jour le code du module ci-dessus comme suit :
require_css
.
require_css
est une fonction HubL que vous pouvez ajouter à module.html et qui indique à HubSpot qu’un module ou un modèle particulier nécessite un fichier CSS particulier pour s’afficher. Une balise de lien pointant vers le fichier css est ajoutée à <head>
de la page, à l’intérieur de standard_header_includes
.
La fonction require_css
ne chargera ce fichier CSS qu’une seule fois, quel que soit le nombre de fois où ce même fichier est requis par les modules et les modèles sur une page particulière. Il est donc idéal pour les situations où les styles peuvent être partagés entre plusieurs modules, mais où l’ajout de CSS directement dans les feuilles de style principales utilisées sur chaque page de votre site n’a pas de sens.
require_css
et les fichiers CSS associés remplissent le même objectif, mais require_css
peut être utilisé de manière conditionnelle en fonction des valeurs des champs. Cela évite de charger du code inutile.
module.js
pour ajouter du JavaScript à un module.
Comme le fichier module.css
, le fichier module.js
ne prend pas en charge HubL.
class="yourClassName"
, tous les éléments prennent en charge data-your-attribute="yourValue"
.
require_js
pour fournir des variables auxquelles vous pouvez accéder à partir de votre script de modélisation.
require_js
est une fonction HubL qui indique à HubSpot qu’un module ou un modèle particulier nécessite un fichier JavaScript particulier pour être chargé correctement. La fonction prend deux paramètres : le chemin d’accès au fichier et l’emplacement où le fichier doit être ajouté (“head” ou “footer”).
Dans un module, require_js
ne peut être ajouté que dans le module.html. Le fichier JavaScript mentionné dans l’annonce require_js
ne sera chargé qu’une fois par page, quel que soit le nombre de fois où il est requis par les modules et les modèles de la page. Cela réduit le nombre de requêtes HTTP et évite la duplication du code.
Certaines situations où cela devient pratique :
require_js
pour partager ce script entre les modules.require_js
, vous pouvez associer JavaScript à votre module.require_js
et les fichiers JavaScript associés servent le même objectif, mais require_js
peut être fait de manière conditionnelle en fonction des valeurs des champs. Cela évite de charger du code inutile. Vous avez également la possibilité de charger JavaScript dans l’en-tête, si vous en avez besoin.
require_js
pour JavaScript est le “footer”. En savoir plus sur l’optimisation des performances.