Il vous est sûrement déjà arrivé de vouloir styliser un ou des éléments d'un module dans une page web HubSpot. Non?!
Pour le faire, il y a deux solutions.
css (stylesheet). Il vous suffit d'ajouter une class ou un id au module. Le problème c'est que la plupart des modules Hubspot ou des modules de votre thème n'offrent pas la possibilité d'ajouter de class ou de id!Voici donc un tutoriel 🕵️ pour bâtir vous même un petit module 🛠️ très pratique.
Lorsque vous souhaitez ajouter une class ou un id à un module. Il vous suffit :
class ou/et le id dans les deux champs,css à votre fichier theme-overrides.css si il n'existe pas encore.
Voilà, le tour est joué!
add-class-or-id-to-next-moduleclass et comme HubL variable name classID et comme HubL variable name new_idHTML + HUBL de votre moduleLe Javascript va cherche le prochain row-fluid-wrapper par rapport à la position de votre nouveau module et lui ajouter la class et/ou le id.
{#
*********************************************
Module : Add class or Id to next module
Developped by : Auxilio
Version : 1.2
*********************************************
#}
<div id="module_add_class-{{ name }}"></div>
<script>
window.addEventListener('load', function() {
var newClass = '{{ module.class }}';
var newId = '{{ module.new_id }}';
if ((newClass) || (newId)) {
var moduleAddClassName = 'module_add_class-{{ name }}';
var moduleAddClass = document.querySelector('#' + moduleAddClassName);
var moduleAddClassWrapper = moduleAddClass.closest('.row-fluid-wrapper');
var nextModule = moduleAddClassWrapper.nextElementSibling;
while (nextModule) {
if (nextModule.classList.contains('row-fluid-wrapper')) {
if (newClass) {
var newClasses = newClass.split(" ");
newClasses.forEach(function(el) {
nextModule.classList.add(el);
});
}
if (newId) {
nextModule.setAttribute("id", newId);
}
break;
}
nextModule = nextModule.nextElementSibling;
}
}
});
</script>
Have fun!