Je dois ajouter Bootstrap 4 dans mon thème personnalisé.
J'ajoute Bootstrap 3 en utilisant la référence:
Comment utiliser bootstrap dans mon thème personnalisé
Mais, bootstrap 4 ne fonctionne pas.
Je dois ajouter Bootstrap 4 dans mon thème personnalisé.
J'ajoute Bootstrap 3 en utilisant la référence:
Comment utiliser bootstrap dans mon thème personnalisé
Mais, bootstrap 4 ne fonctionne pas.
Réponses:
Pour ajouter Bootstrap 4 dans Magento 2.2.3 (testé) et au-dessus dans votre thème personnalisé, suivez les étapes ci-dessous
1) Fichiers css bootstrap dans le dossier web
Remarque :
THEME_LOCATION
=>app\design\frontend\vendor-name\theme-name\
THEME_LOCATION\web\css\bootstrap.css
Appeler les fichiers css bootstrap dans default_head_blocks
THEME_LOCATION\Magento_Theme\layout\default_head_blocks.xml
Ajout de CSS
<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
<head>
<!--Bootstrap css-->
<css src="css/bootstrap.css" />
</head>
</page>
2) Ajouter des fichiers Js sous forme de bundle plutôt qu'individuel car l'individu ne fonctionne pas
Placez les fichiers bootstrap.bundle.js que vous pouvez télécharger à partir d' ici
THEME_LOCATION\Magento_Theme\web\js\bootstrap.bundle.js
Appelez Bootstrap Js dans requirejs-config.js
THEME_LOCATION\Magento_Theme\requirejs-config.js
code pour
var config = {
paths: {
'bootstrap':'Magento_Theme/js/bootstrap.bundle',
} ,
shim: {
'bootstrap': {
'deps': ['jquery']
}
}
};
Ajoutez le code ci-dessous dans header.phtml après votre balise de script déjà présente
THEME_LOCATION\Magento_Theme\templates\html\header.phtml
Code:
<script type="text/javascript">require(['bootstrap']);</script>
Exécuter en dessous des commandes:
php bin/magento setup:static-content:deploy (Append -f if you are using Magento 2.2.x >= version)
php bin/magento cache:flush
Remarque: testé sur Magento 2.2.3 et les dernières versions ainsi que 2.2.6. Également testé sur 2.3.3
Mise à jour : Téléchargez Bootstrap compilé à partir d' ici et utilisez le bundle js
Vous pouvez ajouter Bootstrap de cette façon, suivez les étapes ci-dessous: Remarque: Cette solution ne fonctionne pas avec Magento 2.2.3 et supérieur
1) Placez votre JS et CSS à l'emplacement ci-dessous
/ app / design / frontend / nom-fournisseur / nom-thème / web / css
/ app / design / frontend / nom-fournisseur / nom-thème / web / js
2) Appeler des fichiers dans votre default_head_blocks.xml
app/design/frontend/vendor-name/theme-name/Magento_Theme/layout/default_head_blocks.xml
ajoutez ces lignes de code
<css src="css/bootstrap.css" />
<script src="js/bootstrap.min.js"/>
3) Exécuter les commandes ci-dessous
php bin/magento setup:upgrade
php bin/magento setup:static-content:deploy
Vous devez utiliser le gestionnaire de packages bower pour ajouter bootstrap 4 dans votre dossier Web de thème.
POURQUOI? Parce qu'il y a une mise à jour constante et facile à gérer. Exécutez la commande de mise à jour pour que Bootstrap 4 soit mis à jour.
AUSSI: Nous préférons utiliser LESS ou SCSS avec bootstrap 4. Son robuste et facile à refactoriser.
Suivez les étapes ci-dessous pour installer bower:
1) Installez LTS nodeJS sur votre système d'exploitation respectif à partir de: https://nodejs.org/en/
2) Installez globalement le gestionnaire de paquets bower: npm install -g bower
3) Installez git
depuis: https://git-scm.com/
4) Installez bootstrap 4:
Dans le web
répertoire de votre thème personnalisé Magento
Par exemple: Ouvrir le terminal à <Magento root>/app/design/frontend/MyCustom/theme/web/
Exécutez cette commande pour installer bootstrap 4:
bower install bootstrap4
5) Après cela, vous devez ajouter des polices, bootstrap CSS et bootstrap JS dans le nœud de mise en page par défaut pour travailler boostrap sur chaque page du Magento_Theme
module de votre thème personnalisé.
Nous utilisons gulp pour compiler SCSS en CSS.
sudo npm install -g bower
. Après avoir installé bower, installez les packages js / css dans votre répertoire Theme:app/design/frontend/My/Theme/
bower_components
en web
utilisant le fichier de configuration .bowerrc .
package.json
fichier ouvert de Bootstrap 4, si vous voyez la files
clé du tableau, cela montre seulement que la correspondance du type de fichier sera ajoutée à votre répertoire de projet. files
La clé est utilisée uniquement par la commande Bower. Si vous souhaitez contribuer ou recompiler Bootstrap, vous devriez essayer Yarn. Parce qu'il ajoutera un fichier / répertoire inutile au projet. Webpack et Parcel sont pour le projet de noeud qu'ils compilent en JavaScript pour le frontend.
Après avoir lu les réponses ci-dessus, j'ai une autre suggestion: mettre Bootstrap 4 dans un module et utiliser CDN pour lier les fichiers Bootstrap à la place.
Je suppose que vous savez comment créer un module de base. Sinon, vous pouvez vous référer ici . Voici donc les étapes:
Créez un fichier app/code/Vendor/Module/view/frontend/layout/default_head_blocks.xml
avec les codes suivants:
<?xml version="1.0"?>
<!--
/**
* Copyright © 2013-2017 Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
-->
<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
<head>
<link rel="stylesheet" type="text/css" src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.1/css/bootstrap.min.css" integrity="sha384-WskhaSGFgHYWDcbwN70/dfYBj47jz9qbsMId/iRN3ewGhXQFZCSftd1LZCfmhktB" crossorigin="anonymous" src_type="url" />
<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous" src_type="url"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js" integrity="sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49" crossorigin="anonymous" src_type="url"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.1/js/bootstrap.min.js" integrity="sha384-smHYKdLADwkXOn1EmN1qk/HfnUcbVRZyYmZ4qpPea6sjB/pTJ0euyQp0Mk8ck+5T" crossorigin="anonymous" src_type="url"></script>
</head>
</page>
Activez le module et exécutez la setup:upgrade
commande, c'est tout!
Avantages:
Testé sur Magento 2.2.4, mais devrait fonctionner sur toutes les versions de Magento 2.X. EDIT * a changé les balises de lien href en src pour être en ligne avec les devdocs. Référence:
The attribute 'integrity' is not allowed.