LR
← Retour aux projets

Landing Pages Éditoriales — Magento Page Builder.

6 landing pages éditoriales livrées en autonomie sur Magento : blogs tendance, guides d'achat, carousel morpho interactif et FAQ — dans un environnement CMS contraint.

htmlcssjavascriptmagento
Landing Pages Éditoriales — Magento Page Builder

Challenges

  1. 01.Reprendre un projet en cours sur un environnement inconnu (mission de renfort)
  2. 02.Contourner les limitations du Page Builder Magento pour des mises en page éditoriales riches
  3. 03.Intégrer des composants interactifs (carousel, FAQ) dans un CMS non prévu pour du JS custom
  4. 04.Assurer une cohérence visuelle sur 6 pages aux contenus hétérogènes (blogs, guides)

Solutions

  1. 01.Prise en main rapide de l'environnement Magento et des conventions du projet
  2. 02.Utilisation des blocs HTML natifs du Page Builder comme points d'injection pour le JS custom
  3. 03.Carousel morpho en JS vanilla avec filtres par silhouette et navigation tactile en popup
  4. 04.FAQ accordéon en JS vanilla : toggle exclusif, fermeture automatique des autres items
Carousel morpho — navigation + filtres par silhouettejavascript
1const slides = document.querySelectorAll('.slide');
2const filterButtons = document.querySelectorAll('.filter-button');
3let currentIndex = 0;
4
5function showSlide(index) {
6 slides.forEach(s => s.classList.remove('active'));
7 filterButtons.forEach(b => b.classList.remove('active'));
8 slides[index].classList.add('active');
9 filterButtons[index].classList.add('active');
10 currentIndex = index;
11}
12
13document.getElementById('prev').addEventListener('click', () => {
14 showSlide((currentIndex - 1 + slides.length) % slides.length);
15});
16document.getElementById('next').addEventListener('click', () => {
17 showSlide((currentIndex + 1) % slides.length);
18});
19filterButtons.forEach(btn => {
20 btn.addEventListener('click', () => showSlide(+btn.dataset.index));
21});
→ SuiteAutres projets
Landing Pages Éditoriales — Magento Page Builder | Louis Rotellini