Я пытался что-то доделать и опубликовать в интернете все эти выходные, кое-что сломалось, и я понятия не имею, почему, поэтому я надеюсь, что кто-то может мне помочь.
Я попытался добавить пользовательский jQuery в свою пользовательскую тему, но с успехом загрузил jQuery и заработал . Однако! Это не функционировало должным образом. Например, Safari не загружал jQuery, и я продолжал получать эти ошибки в своей консоли:
defaultCaptcha.js: 29 Uncaught TypeError: Невозможно прочитать свойство 'captcha' неопределенного authentic-popup.js: 26 Uncaught TypeError: Невозможно прочитать свойство 'autocomplete' undefined (анонимная функция)
Я думал, что это как-то связано с тем, как я объявил свой jQuery, но когда этого не произошло, я решил удалить все свои пользовательские JS, и я все еще получал эти ошибки. Кажется, что-то сломано дальше.
Моя настраиваемая «Тема» - это простая целевая страница, в которой нет ничего больше, чем я.
Что может вызвать эти ошибки?
Ответы:
Замените в клиентском модуле в файле authentication-popup.js:
с:
После обновления запустить
Обновить
Проблема может быть исправлена в более новых версиях: https://github.com/magento/magento2/blob/2.3-develop/app/code/Magento/Customer/view/frontend/web/js/view/authentication-popup.js. # L23
был заменен на:
Это обновление является информативным и не предоставляет полного решения, поскольку более новые версии Magento 2 идут с другими изменениями.
Вот коммит, который изменился на этот: https://github.com/magento/magento2/commit/362f62f3c9b6c2994070615d82efbdf19f15fe50
источник
После переопределения файлов из ядра необходимо очистить кэш статических файлов (даже если все режимы отключены для режима по умолчанию), чтобы увидеть эффект. Никогда не редактируйте файлы pub / static / frontend, потому что они являются сгенерированными файлами.
источник
Похоже, что ошибка вызвана ссылкой на автозаполнение и капча не существует, когда они должны. Делать то, что малоизвестно, удаляло ошибку для автозаполнения. Мне пришлось отредактировать файл капчи по умолчанию в ... / pub / static / frontend / Magento / luma / en_US / Magento_Captcha / js / view / checkout / defaultCaptcha.js
вернуть ноль, если конфиг, на который он пытается сослаться, не существует. Однако это только устраняет ошибку, но страница оформления заказа остается пустой.
Я подозреваю, что это может быть связано с тем, что тема не возвращается должным образом.
источник