Je reçois une erreur de type JavaScript dans Minicart, la page d'affichage du produit et la page de paiement .
TypeError: $.widget is not a function
$.widget('mage.priceBox')
$.widget('mage.dataPost')
Comment puis-je resoudre ceci?
magento2
error
javascript
Nikul
la source
la source
Réponses:
J'ai eu le même problème avec Porto Theme. Dans mon cas, jQuery a parfois été reconnu, parfois non. Malheureusement, je n'ai pas compris la cause, mais j'ai trouvé une solution.
En bref: fusionnez tous les fichiers javascript.
Stores -> Configuration -> Advanced -> Developer -> JavaScript Settings
Activer:
Non recommandé pour déployer les fichiers statiques
bin/magento setup:static-content:deploy
Vider le cache sous
System -> Cache Management
Additional Cache Management
région, choisissez le boutonFlush CSS/Javascript Cache
Flush Magento Cache
aprèsDésactivez maintenant le cache dans le navigateur et rechargez.
Pour développer cette solution n'est pas satisfaisante, mais au moins pour une utilisation productive, elle doit être une bonne solution de travail, sans comportement imprévisible.
J'espère que cela aide..
la source
map: { '*': {
est utilisé, et parfoispaths: {
...J'ai également eu ce problème mais j'ai ensuite parcouru cet article: http://www.danjoseph.me/2016/09/16/magento-2-widget-not-function/
Dans l'article, il explique que jquery était en train d'être chargé une deuxième fois sur la page et écrasait donc la version chargée précédemment par magento. Pour moi, c'était un script marketing qui chargeait également jquery pour une raison quelconque. jQuery ne doit être chargé qu'une seule fois dans la tête par cette balise et tous les autres doivent être supprimés.
<script type="text/javascript" charset="utf-8" async="" data-requirecontext="_" data-requiremodule="jquery" src="http://seatup.local/pub/static/frontend/Seatup/theme/en_US/jquery.js"></script>
la source
Accédez à votre dossier de thème et recherchez le fichier suivant dans le dossier Magento_Theme
et remplacer
<script src="jquery.js" />
avec
Assurez-vous de nettoyer le cache et d'actualiser la page.
J'ai eu le même problème et l'ai résolu en utilisant la méthode ci-dessus.
la source
Uncaught Error: Bootstrap's JavaScript requires jQuery at bootstrap.min.js:6