Я получаю ошибку типа JavaScript в Minicart, странице просмотра товаров и Checkout странице .
TypeError: $.widget is not a function
$.widget('mage.priceBox')
$.widget('mage.dataPost')
Как я могу решить это?
Я получаю ошибку типа JavaScript в Minicart, странице просмотра товаров и Checkout странице .
TypeError: $.widget is not a function
$.widget('mage.priceBox')
$.widget('mage.dataPost')
Как я могу решить это?
Ответы:
У меня была та же проблема с использованием темы Порту. В моем случае иногда jQuery распознавался, иногда нет. К сожалению, я не понял причину, но я нашел решение.
Короче говоря: объединить все файлы JavaScript.
Stores -> Configuration -> Advanced -> Developer -> JavaScript Settings
Активация:
Рекомендуется развернуть статические файлы
bin/magento setup:static-content:deploy
Очистить кеш под System -> Cache Management
Additional Cache Management
регионе выберите кнопкуFlush CSS/Javascript Cache
Flush Magento Cache
потомТеперь очистите кэш в браузере и перезагрузите.
Для разработки это решение не является удовлетворительным, но, по крайней мере, для продуктивного, использовать его должно быть хорошим рабочим решением, без непредсказуемого поведения.
Надеюсь, поможет..
map: { '*': {
используется, а иногда paths: {
...
У меня тоже была эта проблема, но потом я наткнулся на эту статью: http://www.danjoseph.me/2016/09/16/magento-2-widget-not-function/
В этой статье он объясняет, что jquery загружался второй раз на странице и поэтому перезаписывал версию, загруженную ранее magento. Для меня это был маркетинговый скрипт, который по какой-то причине тоже загружал jquery. Этот тег должен загружаться только один раз в голову этим тегом, а все остальные должны быть удалены.
<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>
Перейдите в папку вашей темы и найдите следующий файл в папке Magento_Theme.
default_head_blocks.xml
и заменить
<script src="jquery.js" />
с
<remove src="jquery.js" />
Обязательно очистите кеш и обновите страницу.
У меня была та же проблема, и я получил ее, используя вышеуказанный метод.
Uncaught Error: Bootstrap's JavaScript requires jQuery at bootstrap.min.js:6