J'ai installé Magento 2 et défini le mode développeur, puis j'ai installé un module contenant des fichiers css et js. Le module fonctionne bien et les fichiers css et js sont rendus à partir du dossier pub / static. Maintenant, j'ai apporté des modifications css au fichier css du répertoire du module et à l'exécution de la commande
php bin/magento setup:static-content:deploy
mais Magento ne fait pas mes nouvelles modifications dans les fichiers css pub / static, donc je récupère le contenu des anciens fichiers css. Est-ce que quelqu'un sait comment régénérer le fichier css entier dans le dossier pub / static?
magento2
css
deploy
static-content-deploy
chirag dodia
la source
la source
.htaccess
fichier dans lepub/static
dossier afin qu'il sache comment lier les fichiers, si vous avez supprimé le dossier pub / static qui.htaccess
manque maintenantRéponses:
Avant de supprimer pub / static, sauvegardez pub / static / .htaccess et restaurez-le. sinon, tous vos css et js afficheront une erreur 404!
pub/static
[Gardez le fichier .htaccess sauvegardé et copiez-le à nouveau]var/cache
var/composer_home
var/generation
var/page_cache
var/view_preprocessed
php bin/magento setup:static-content:deploy
la source
les réponses ici ne mentionnent pas que vous ne devriez pas supprimer le .htaccess dans le dossier pub / static.
pour supprimer tous les fichiers sauf les .htacces, entrez dans le répertoire pub / static et exécutez
alors vous pouvez courir
la source
Je viens de supprimer les fichiers css du
pub/static
dossier et exécuter la commande:Il générera le même fichier avec les dernières modifications.
la source
Comme la question est pour la
js and css
mise à jour dans Magento 2 en mode développeur .pub/static/frontend/namespace/theme/ ... module/js/...
supprimer, afin qu'après le rafraîchissement de la page, un nouveau fichier JS soit généré dans le dossier pub.Thème d'installation dans magento
...\dev\tools\grunt\configs\themes.js
Cloner un thème, par exemple, un thème luma sur votre thème et attribuer un nom, supposons xyz
Dans le dossier racine, changez le nom du fichier: Gruntfile.js.sample en Gruntfile.js
Dans le dossier racine, changez le nom du fichier: package.json.sample en package.json
Besoin d'avoir Grunt dans votre dossier de site sinon installer via NPM
Ouvrir une invite de commande avec l' autorisation de l'administrateur
Aller au dossier du site dans CMD et appuyer sur la commande
grunt exec:theme
pour la première fois après le déploiement du thèmePuis
grunt less:theme
chaque fois si nous faisons des changements en moinsSi vous faites fréquemment des changements en moins d’utilisation
grunt watch
, il sera automatiquement touchégrunt less:theme
la source
Manière simple 1
Dans l’administrateur de Magento. Accédez à
System > Tools > Cache Management
et cliquez sur Vider le cache de fichiers statiques .Manière simple 2
Si vous venez de modifier le fichier css qui existait déjà , vous devez simplement supprimer le fichier correspondant
pub/static
, puis, lorsque vous actualisez la page, le nouveau fichier css sera généré. Cela fonctionne en mode développeur .Remarquer
Lorsque vous créez un nouveau fichier, plutôt que de modifier un fichier existant, vous devrez peut-être également vider le cache
php bin/magento cache:flush
.Le mode par défaut et le mode développeur n'ont pas besoin de déployer des fichiers de vue statique , car les fichiers statiques sont générés de manière dynamique plutôt que matérialisés. (Référence: À propos des modes Magento )
En mode production , vous aurez peut-être aussi besoin de,
php bin/magento setup:static-content:deploy
etphp bin/magento cache:flush
je n’essaye pas encore en mode production .la source
Ok, donc, sur la base de ce que j'ai lu dans divers autres articles et de mon expérience personnelle, voici le processus de régénération du CSS ou de tout contenu statique:
Cela effacera tous les fichiers de cache / génération / etc nécessaires sans supprimer tout ce dont vous avez réellement besoin.
Cela recompilera ensuite les fichiers. Enfin:
Après la dernière commande, tout devrait être nouveau et frais, actualisez simplement votre page.
----- Remarques ------
1) Assurez-vous que vos autorisations de fichiers et votre propriétaire: le groupe d'utilisateurs est configuré correctement avant de procéder. Vous devrez peut-être en parler avec votre administrateur système.
2) Si votre commande setup: upgrade échoue, cela pourrait effacer les fichiers et être incapable d’écrire les nouveaux, comme ce fut mon cas en raison des autorisations accordées. Cela peut endommager votre site. Il vous suffit de repasser les autorisations, puis de relancer la commande.
3) Je n'ai pas trouvé (jusqu'à présent) un moyen de ne recompiler qu'un thème ou un fichier spécifique (ce serait très utile si quelqu'un trouve un moyen) sans écrire un script entièrement personnalisé.
Si quelqu'un sait quelque chose de mieux, faites-le-moi savoir, car 12 minutes de compilation de fichiers, car je devais apporter des modifications CSS, est extrêmement médiocre à mes yeux.
--- Modifier ---
Grento est lié à Magento 2, ce qui facilite infiniment l'actualisation des fichiers CSS / LESS si vous prenez le temps de le configurer. La plupart des fichiers sont là en tant que fichiers .sample, il suffit de supprimer l’extension de fichier .sample, de configurer le fichier themes.js dans le dossier / dev / tools / grunt / configs. Ensuite, lorsque vous devez actualiser vos fichiers LESS, vous exécutez simplement grunt less: - theme-- à partir de la ligne de commande.
Ressource: http://devdocs.magento.com/guides/v2.0/frontend-dev-guide/css-topics/css_debug.html
la source
ne pas oublier d'exécuter les
grunt exec:theme
,grunt less:theme
commandes oùtheme
est le thème que vous avez déclaré dans lethemes.js
fichier à partir du dossier de configuration de grognement (tout cela est dans le guide du développeur) et quand vous avez magento en mode développeur vous ne devriez pas exécuter la commande deploy statique,Magento2
marche avecSymlinks
la source
Exécutez ces commandes sur votre dossier racine Magento :
la source
Il y a une remarque importante à faire à propos de cette question que la plupart des réponses n'indiquent pas spécifiquement. Dans votre cas (avec la configuration que vous utilisez), la raison pour laquelle vos modifications CSS ne sont pas prises en compte lorsque vous régénérez le CSS dans le
pub/static
dossier est que vous ne supprimez pas le contenu duvar/view_preprocessed
directeur. Dans ce répertoire, vous trouverez une version en cache de votre CSS qui s’affiche dans lepub/static
dossier lorsque vous exécutez laphp bin/magento setup:static-content:deploy
commande.Ainsi, lors de la recompilation, Magento recherchera d'abord le
var/view_preprocessed
dossier contenant le CSS mis en cache. Si ce dossier est vide, il recherchera les fichiers de thème et extraira ce CSS pour la compilation.Ces paramètres sont configurables. Il existe donc de nombreuses façons d’arriver à votre destination qui changeront le chemin à suivre. Mais pour la solution à votre configuration spécifique:
Supprimez les fichiers du
pub/static
dossier:rm -rf pub/static/*
Supprimez les fichiers du
var/view_preprocessed
dossier:rm -rf var/view_preprocessed/*
Recompiler le dossier statique de publication:
php bin/magento setup:static-content:deploy
Effacer le cache est activé:
php bin/magento cache:clean
Actualisez le navigateur.
la source
app/etc/di.xml
fichier di.xml ( ). Mais j'ai eu des résultats mitigés lors des tests. Il y a un peu plus ici dans la deuxième réponse: magento.stackexchange.com/questions/116605/…Supprimez le dossier qui contient votre thème dans le
cache transparent pub / static / frontend.
Vous pouvez utiliser grunt pour regarder les feuilles de style appliquées. Lire ici
la source
pub/static
permission à 777php bin/magento setup:static-content:deploy
Vous verrez de nouveaux css.
REMARQUE:
Donnez les droits de dossier et de fichier appropriés.
J'espère que cela t'aidera.
la source
Ne pourriez-vous pas simplement vider le cache statique dans le panneau d'administration, puis
la source
Assurez-vous que vous utilisez le mode développeur.
Puis exécutez le code suivant:
Actualiser la page d'accueil, Ces étapes ont résolu mon problème.
la source
Cependant, vous pouvez ajouter l' indicateur
-f
ou--force
à la commande d'installation.Exemple:
la source
Je vais déposer ma gouttelette de sagesse ici.
J'utilise un
cache_fly.sh
script bash qui fait essentiellement:NOTE: J'ai ajouté un écho pour me montrer combien de fois de ma vie j'ai perdu à attendre que ça fonctionne. Est également
./magento
un script à fairephp bin/magento
ou à appeler la même chose à l'intérieur du conteneur de docker, si docker est utilisé, vous pouvez indiquer le vôtre,php bin/magento
mais si vous lisez ceci, vous devez savoir de quoi je parle, sinon, lancez la requête pour aider.la source
Petite adaptation pour mon cas
la source