Comment insérer des modules ou des lignes Divi dans d'autres modules Divi (sans plugin)

Publié: 2020-12-31

Si vous êtes un utilisateur Divi depuis un certain temps, l'idée d'insérer un Module Divi (ou Row) à l'intérieur d'un autre Module peut vous avoir traversé l'esprit. Dans la plupart des cas, si vous savez bien utiliser Divi, ce genre de chose n'est pas vraiment nécessaire. Les modules Divi sont déjà des éléments puissants dotés de fonctionnalités et de paramètres de conception intégrés. Mais, parfois, il serait bien d'améliorer ces fonctionnalités en concevant deux modules à l'aide de Divi, puis en les insérant l'un dans l'autre. Un bon exemple de ceci serait l'insertion d'un module (comme un formulaire de contact) dans un module à bascule afin que le formulaire s'affiche lorsque vous cliquez sur la bascule.

Dans ce tutoriel, nous allons partager comment insérer des modules ou des lignes Divi dans un autre module Divi. Pour ce faire, il faut ajouter quelques petits extraits de JQuery. Une fois le code en place, nous pouvons utiliser le Divi Builder pour ajouter les classes CSS appropriées pour cibler les éléments que nous voulons insérer/déplacer et le module dans lequel nous voulons les mettre.

Commençons!

Aperçu

Voici un aperçu des exemples que nous allons construire dans ce tutoriel.

Un formulaire de contact dans un module à bascule

insérer des modules ou des lignes Divi dans d'autres modules

Un module à bascule et un module de boutons à l'intérieur d'un module Blurb (colonne de droite)

insérer des modules ou des lignes Divi dans d'autres modules

Une ligne Divi à l'intérieur d'un module à bascule

insérer des modules ou des lignes Divi dans d'autres modules

Téléchargez la mise en page GRATUITEMENT

Pour mettre la main sur la mise en page de ce tutoriel, vous devrez d'abord la télécharger à l'aide du bouton ci-dessous. Pour accéder au téléchargement, vous devrez vous inscrire à notre liste de diffusion Divi Daily en utilisant le formulaire ci-dessous. En tant que nouvel abonné, vous recevrez chaque lundi encore plus de bienfaits Divi et un pack Divi Layout gratuit ! Si vous êtes déjà sur la liste, entrez simplement votre adresse e-mail ci-dessous et cliquez sur télécharger. Vous ne serez pas « réinscrit » ni ne recevrez d'e-mails supplémentaires.

Télécharger les fichiers
Télécharger gratuitement

Télécharger gratuitement

Rejoignez la newsletter Divi et nous vous enverrons par e-mail une copie du pack ultime de mise en page de la page de destination Divi, ainsi que des tonnes d'autres ressources, trucs et astuces Divi incroyables et gratuits. Suivez-le et vous serez un maître Divi en un rien de temps. Si vous êtes déjà abonné, saisissez simplement votre adresse e-mail ci-dessous et cliquez sur télécharger pour accéder au pack de mise en page.

Vous vous êtes enregistré avec succès. Veuillez vérifier votre adresse e-mail pour confirmer votre abonnement et accéder aux packs de mise en page Divi hebdomadaires gratuits !

Abonnez-vous à notre chaîne Youtube

Pour importer la mise en page de la section dans votre bibliothèque Divi, accédez à la bibliothèque Divi.

Cliquez sur le bouton Importer.

Dans la fenêtre contextuelle de portabilité, sélectionnez l'onglet d'importation et choisissez le fichier à télécharger depuis votre ordinateur.

Cliquez ensuite sur le bouton importer.

boîte de notification divi

Une fois cela fait, la disposition des sections sera disponible dans le Divi Builder.

Passons au tutoriel, voulez-vous ?

Ce dont vous avez besoin pour commencer

étendre les onglets d'angle

Pour commencer, vous devrez effectuer les opérations suivantes :

  1. Si vous ne l'avez pas encore fait, installez et activez le thème Divi.
  2. Créez une nouvelle page dans WordPress et utilisez le Divi Builder pour éditer la page sur le front-end (constructeur visuel).
  3. Choisissez l'option « Construire à partir de zéro ».

Après cela, vous aurez une toile vierge pour commencer à concevoir dans Divi.

Choses à garder à l'esprit

Pour ce tutoriel, le processus de stylisation de tous les modules que vous souhaitez utiliser dans ce processus peut toujours être effectué visuellement à l'aide des paramètres intégrés de Divi Builder, nous vous laisserons donc cette partie. Nous allons nous concentrer davantage sur la façon d'appliquer les bonnes classes CSS et HTML à chaque élément Divi afin d'insérer le(s) module(s)/ligne(s) à l'intérieur d'un autre module.

Gardez à l'esprit que nous ne pourrons voir le résultat final que sur une page en direct, et non lors de l'édition à partir du Divi Builder visuel. En d'autres termes, nous pouvons concevoir les modules avec Divi mais ils resteront séparés dans le constructeur jusqu'à ce que vous visualisiez la version en direct de la page.

Vous ne pouvez insérer des modules ou des lignes à l'intérieur d'un module qui a la possibilité d'ajouter du texte/html.

De plus, comme nous l'expliquerons plus tard, il existe certaines limites au nombre d'instances (modules ou lignes insérés dans un autre module) que vous pouvez avoir dans une colonne ou une section. Lorsque vous insérez des modules dans un autre module, vous êtes limité à un module « destination » (le module qui contiendra le(s) module(s) que vous souhaitez insérer) par colonne. Et, lors de l'insertion de lignes dans un autre module, vous êtes limité à un module « destination » par section. Bien qu'il s'agisse d'une limitation dans un sens, cela vous donne la possibilité d'avoir plusieurs instances sur votre page en cas de besoin.

Partie 1 : Comment insérer des modules Divi dans un autre module

Pour la première partie de ce tutoriel, nous allons vous montrer comment insérer des modules Divi dans un autre module. Tout d'abord, nous allons vous montrer comment ajouter un module de contact à l'intérieur d'un module de basculement. Ensuite, nous vous montrerons comment ajouter un module Toggle et un module Button à l'intérieur d'un module Blurb.

Exemple 1 : Insertion d'un module de formulaire de contact à l'intérieur d'un module de basculement

Ajouter une nouvelle ligne

Pour commencer, ajoutez une nouvelle ligne à une colonne à la section.

insérer des modules ou des lignes Divi dans d'autres modules

Ajouter un module de bascule (le module de destination)

À l'intérieur de la colonne, ajoutez un module à bascule.

insérer des modules ou des lignes Divi dans d'autres modules

Pour cet exemple, nous voulons insérer un module à l'intérieur de ce module de basculement que nous pouvons appeler notre module de destination. Techniquement, la destination réelle sera à l'intérieur du contenu du corps du module Toggle (où vous pouvez ajouter du texte/HTML). Pour désigner l'emplacement de destination, nous devons insérer un nouveau div avec une classe CSS nécessaire qui servira d'emplacement cible pour notre module portable (le module que nous voulons insérer).

Sous l'onglet contenu des paramètres de bascule, ajoutez le code HTML suivant au corps. Assurez-vous de cliquer sur l'onglet Texte avant d'insérer du code HTML.

<div class="divi-module-destination"></div>

insérer des modules ou des lignes Divi dans d'autres modules

Ajouter le module de formulaire de contact (le module portable)

Ensuite, nous devons ajouter le module que nous voulons insérer dans le module Toggle. Dans cet exemple, nous allons insérer un module de formulaire de contrat dans le corps du module de basculement. Il est important d'ajouter le nouveau module « portable » dans la même colonne que le module de destination.

Pour ce faire, ajoutez un nouveau module de formulaire de contact directement sous le module bascule.

insérer des modules ou des lignes Divi dans d'autres modules

Cliquez sur l'onglet Avancé sous les paramètres du formulaire de contact (de tout module que vous souhaitez insérer) et ajoutez la classe CSS suivante :

  • Classe CSS : module-divi-portable

insérer des modules ou des lignes Divi dans d'autres modules

Ajouter une classe de colonne

Ensuite, nous devons ajouter une classe personnalisée à la colonne qui contient les deux modules. Ouvrez les paramètres de colonne et ajoutez la classe CSS suivante :

  • Classe CSS : colonne-parent

insérer des modules ou des lignes Divi dans d'autres modules

Ajouter le code

Le code nécessaire pour que cela fonctionne est assez court et simple. Fondamentalement, nous voulons utiliser JQuery pour trouver chaque module avec la classe "divi-portable-module" avec la colonne parent (celle avec la classe "parent-column") et ajouter chacun de ces modules à l'intérieur du div avec la classe " divi-module-destination ».

Le code comprend également un extrait pour insérer un module de boutons dans un autre module et un extrait pour insérer des lignes Divi dans un module.

Pour ajouter le code, ajoutez un nouveau module de code sous le module de formulaire de contact.

insérer des modules ou des lignes Divi dans d'autres modules

Avant de coller le code nécessaire, ajoutez les balises de script nécessaires à l'intégration de JS dans HTML dans la zone Code :

insérer des modules ou des lignes Divi dans d'autres modules

Collez ensuite le code suivant entre les balises de script :

(function ($) {
  $(document).ready(function () {

    // Option #1: Move Divi Module(s) into a Module
    // Limit: One Instance per Column
    // Use following code if you want to move 
    // a module inside another module. Each column with the
    // class 'parent-column' will append any module(s)
    // with the class 'divi-portable-module' to the div
    // with the class 'divi-module-destination'.
    // Only one instance of 'divi-module-destination' should
    // be added per column.
    $('.divi-portable-module').each(function () {
      $(this).closest('.parent-column').find('.divi-module-destination').append($(this));
    });
    
    // Buttons: Insert Button Module(s) into a Module
    // Adding a custom CSS class to a button module
    // is applied to the 'a' tag which is a child element
    // of the module wrapper. This code makes sure to append
    // the entire button module wrapper (the parent element)
    // as well. This functionality is the same as option #3 above.
    // Siimply use the class 'divi-portable-button' on a button module
    // instead of 'divi-portable-module'.
    $('.divi-portable-button').parent().each(function () {
      $(this).closest('.parent-column').find('.divi-module-destination').append($(this));
    });

    // Option #2: Move Divi Row(s) into a Module
    // Limit: One Instance per Section
    // Use the following code if you want to move 
    // a row inside a module on more than one section
    // of a page. Each section with the
    // class 'parent-section' will append any row(s)
    // with the class 'divi-portable-row' to the div
    // with the class 'divi-row-destination'.
    // Only one instance of 'divi-row-destination' should
    // be added per section.
    $('.divi-portable-row').each(function () {
      $(this).closest('.parent-section').find('.divi-row-destination').append($(this));
    });

  });
})(jQuery);

insérer des modules ou des lignes Divi dans d'autres modules

Comprendre la fonctionnalité

À l'intérieur du Divi Builder sur le backend, les modules resteront séparés. Cependant, si vous affichez les résultats sur la page en direct sur le frontend, vous verrez que le formulaire de contact a été inséré dans le module Toggle.

insérer des modules ou des lignes Divi dans d'autres modules

Si vous inspectez le code sur la page en direct, vous pouvez voir que le module de formulaire de contact a été inséré avec succès dans le div avec la classe "divi-module-destination".

insérer des modules ou des lignes Divi dans d'autres modules

Styliser les modules

Comme nous l'avons mentionné précédemment, les modules resteront séparés sur le backend Divi Builder. Cependant, les styles que vous ajoutez à chacun s'appliqueront toujours. N'hésitez donc pas à ajouter une mise à jour des styles à la fois du module de destination et du module portable à l'aide du Divi Builder.

insérer des modules ou des lignes Divi dans d'autres modules

REMARQUE : Dans certains cas, les styles du module de destination (maintenant un module parent) peuvent être appliqués au module inséré. Si tel est le cas, vous devriez pouvoir remplacer ce style en mettant à jour les paramètres du module inséré.

Le résultat

Voici le résultat final lors de la visualisation de la page en direct.

insérer des modules ou des lignes Divi dans d'autres modules

Exemple 2 : Insertion d'un module Toggle à l'intérieur d'un module Blurb

Pour notre prochain exemple, nous allons insérer un module Toggle à l'intérieur d'un module Blurb. Le processus est le même que précédemment. L'extrait de code limite l'utilisation d'un module de destination par colonne. En d'autres termes, vous pouvez avoir plusieurs modules portables avec la classe "divi-portable-module" qui peuvent être ajoutés au module de destination, mais vous ne pouvez avoir qu'une seule instance du div avec la classe "divi-module-destination" par colonne.

Pour le démontrer, répétons le même processus avec un autre groupe de modules dans une autre colonne de la même ligne.

Ajouter une nouvelle colonne à la ligne

Tout d'abord, ajoutez une nouvelle colonne à la ligne existante.

insérer des modules ou des lignes Divi dans d'autres modules

Ajouter une classe de colonne

Donnez à la nouvelle colonne la classe CSS suivante comme nous l'avons fait dans la première colonne :

  • Classe CSS : colonne-parent

insérer des modules ou des lignes Divi dans d'autres modules

Ajouter un module Blurb (le module de destination)

À l'intérieur de la nouvelle colonne, ajoutez un module de présentation qui servira de module de destination.

insérer des modules ou des lignes Divi dans d'autres modules

Dans le corps du texte de présentation, collez le code HTML suivant qui inclut le même div avec la classe "divi-module-destination" où vous souhaitez insérer le(s) module(s) portable(s) (dans ce cas sous le corps de texte fictif) :

<div class="divi-module-destination"></div>

insérer des modules ou des lignes Divi dans d'autres modules

Ajouter un module à bascule (module portable)

Puisque nous voulons ajouter un module à bascule au texte de présentation, créez un nouveau module à bascule dans la même colonne que le texte de présentation.

insérer des modules ou des lignes Divi dans d'autres modules

Ajoutez ensuite la classe CSS suivante au module Toggle pour le désigner comme le module que nous voulons déplacer/insérer dans le texte de présentation :

  • Classe CSS : module-divi-portable

insérer des modules ou des lignes Divi dans d'autres modules

Résultat

Vérifiez maintenant la page en direct pour voir le résultat. La bascule résidera désormais dans le module de présentation.

insérer des modules ou des lignes Divi dans d'autres modules

insérer des modules ou des lignes Divi dans d'autres modules

Exemple 3 : Insertion d'un module Button à l'intérieur d'un module Blurb

Pour cet exemple suivant, nous allons insérer un module de bouton dans le même module de présentation de notre exemple précédent. Normalement, pour tout autre module, nous répéterions le même processus pour ajouter un nouveau module portable au texte de présentation. Mais, parce que le module de bouton est construit un peu différemment sur le backend, nous devons ajouter une classe différente au module de bouton.

Ajouter un module de boutons (Module portable #2)

Pour ce faire, ajoutez un nouveau module de bouton sous le module à bascule déjà inséré dans le texte de présentation.

insérer des modules ou des lignes Divi dans d'autres modules

Ensuite, ajoutez la classe CSS suivante au module de bouton :

  • Classe CSS : bouton-divi-portable

insérer des modules ou des lignes Divi dans d'autres modules

Le résultat

Vérifiez maintenant le résultat sur la page en direct. Le module Blurb contient maintenant le module bascule et le module bouton.

insérer des modules ou des lignes Divi dans d'autres modules

Et voici l'extrait de code correspondant utilisé pour insérer le module de bouton à l'intérieur du module avec la div "destination". La principale différence avec cet extrait de code est que nous ciblons l'élément parent (le bouton wrapper div dans les coulisses) de la classe de bouton "divi-portable-button".

insérer des modules ou des lignes Divi dans d'autres modules

Partie 2 : Comment insérer des lignes Divi dans un module

Si vous souhaitez insérer une ligne entière (ou des lignes) à l'intérieur d'un module, le processus est très similaire à l'insertion d'un module dans un autre module. Nous devons ajouter la classe "parent-section" à la section contenant le module de destination et les lignes portables que nous voulons insérer. Nous devons ajouter le div avec la classe "divi-row-destination" au module de destination. Et nous devons ajouter la classe "divi-portable-row" à la ou aux lignes que nous voulons insérer dans le module de destination.

Voici comment procéder.

Ajouter une section

Tout d'abord, ajoutez une nouvelle section régulière à la page.

insérer des modules ou des lignes Divi dans d'autres modules

Sous l'onglet avancé des paramètres de la section, ajoutez la classe CSS suivante :

  • Classe CSS : section parent

insérer des modules ou des lignes Divi dans d'autres modules

Ajouter une ligne pour le module de destination

Ajoutez une nouvelle ligne à une colonne pour contenir le module de destination.

insérer des modules ou des lignes Divi dans d'autres modules

Ajouter un module de bascule (le module de destination de ligne)

Pour cet exemple, nous allons insérer une ligne à l'intérieur d'un module Toggle. Par conséquent, ajoutez un nouveau module de basculement à la ligne.

insérer des modules ou des lignes Divi dans d'autres modules

Étant donné que le module Toggle est notre module de destination, ouvrez les paramètres de la bascule et ajoutez le code HTML suivant au contenu du corps :

<div class="divi-row-destination"></div>

insérer des modules ou des lignes Divi dans d'autres modules

Créer une rangée portable

Maintenant que le module de destination est en place, ajoutez une nouvelle ligne sous la ligne précédente. Cela servira de ligne portable que nous insérerons dans le module de basculement.

insérer des modules ou des lignes Divi dans d'autres modules

Remplir la ligne avec du contenu

À ce stade, vous pouvez remplir la ligne avec tout contenu/module que vous souhaitez à l'aide de Divi Builder. Gardez à l'esprit que tout ce qui se trouve dans la ligne finira par être inséré dans le module à bascule puisqu'il réside à l'intérieur de la ligne.

Ajouter une classe à la ligne

Ensuite, ouvrez les paramètres de la ligne et désignez-la comme une ligne que vous souhaitez insérer dans le module Toggle en lui donnant la classe CSS suivante :

  • Classe CSS : divi-portable-row

insérer des modules ou des lignes Divi dans d'autres modules

Comment ça fonctionne

Pour rappel, la ligne restera séparée du module lors de l'édition de la mise en page à l'aide du Divi Builder sur le backend. Mais la fonctionnalité est en place pour insérer la ligne à l'intérieur du module Toggle.

insérer des modules ou des lignes Divi dans d'autres modules

Le résultat

Pour voir le résultat, consultez la page en direct et ouvrez le module à bascule. Il contient maintenant la ligne entière.

insérer des modules ou des lignes Divi dans d'autres modules

Et voici l'extrait de code correspondant qui rend cela possible. Notez les classes correspondantes utilisées.

insérer des modules ou des lignes Divi dans d'autres modules

Insertion de plusieurs lignes à l'intérieur du module

Tant que vous gardez une instance du module de destination (c'est-à-dire le div avec la classe "divi-row-destination") par section, vous pouvez insérer plusieurs lignes vers cette destination simplement en lui donnant la même classe "divi-portable-row ”.

Par exemple, vous pouvez ajouter une autre ligne avec un module de galerie au-dessus de la ligne avec les éléments de menu précédemment créés. Ensuite, donnez à la ligne la même classe « divi-portable-row »

insérer des modules ou des lignes Divi dans d'autres modules

Les deux lignes avec la classe "divi-portable-row" seront insérées dans le module Toggle.

insérer des modules ou des lignes Divi dans d'autres modules

Utiliser un plugin/shortcode

Si vous recherchez un plugin qui fait quelque chose de similaire et offre plus de flexibilité ou d'options, vous pouvez consulter le plugin Shortcodes for Divi de notre place de marché qui vous permet d'intégrer n'importe quelle mise en page Divi à votre page à l'aide d'un shortcode. Une fois installé, le plugin générera un shortcode intégrable pour chaque mise en page que vous avez enregistrée dans votre bibliothèque Divi.

insérer des modules ou des lignes Divi dans d'autres modules

Dernières pensées

Dans la plupart des cas, il ne devrait pas être nécessaire d'insérer des modules ou des lignes dans d'autres modules, sauf en cas de besoin particulier. Habituellement, vous pouvez obtenir la mise en page/la conception dont vous avez besoin sans avoir à faire ce genre de chose. Cependant, pour ceux d'entre vous qui recherchent un moyen simple de le faire sans avoir à recourir à un plugin, espérons que cette solution sera utile.

De plus, pensez à toutes les applications possibles !

J'ai hâte de vous entendre dans les commentaires.

À votre santé!