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-module
class
et comme HubL variable name class
ID
et comme HubL variable name new_id
HTML + 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!