Magento2 после ajax
Допустим, я хочу получить ответ ajax, содержащий все, что находится внутри селектора #maincontent на странице каталог/продукт/просмотр/идентификатор/1.
Проблема в том, что многие JS (которые работают на странице просмотра продукта) не работают, когда я добавляю html-код ответа ajax на свою пользовательскую страницу (допустим, моя пользовательская страница - это страница просмотра категории).
Я заметил, что скрипты (из html-кода ответа ajax) внутри не работают. например, галерея товаров. Как заставить скрипты работать? Я заметил что после добавления товара (с помощью кнопки "Добавить в корзину" в ответе) JS в "Начать работать" - галерея становится видимой, отображаются связанные товары, работают вкладки и т. Д.
1 answers
Это очень легко решить.
Посмотрите в этой строке: https://github.com/magento/magento2/blob/develop/lib/web/mage/mage.js#L93
Здесь маг ждет, когда вы вставите html-контент с помощью ajax: "text/x-magento-init".
Пример:
Вы вставляете в
<div id="gallery"></div>
$('#gallery').html(content)
После вызова magento:
$('#gallery').trigger('contentUpdated');