Magento2 после ajax


Допустим, я хочу получить ответ ajax, содержащий все, что находится внутри селектора #maincontent на странице каталог/продукт/просмотр/идентификатор/1.

Проблема в том, что многие JS (которые работают на странице просмотра продукта) не работают, когда я добавляю html-код ответа ajax на свою пользовательскую страницу (допустим, моя пользовательская страница - это страница просмотра категории).

Я заметил, что скрипты (из html-кода ответа ajax) внутри не работают. например, галерея товаров. Как заставить скрипты работать? Я заметил что после добавления товара (с помощью кнопки "Добавить в корзину" в ответе) JS в "Начать работать" - галерея становится видимой, отображаются связанные товары, работают вкладки и т. Д.

Author: KAndy, 2015-12-03

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');
 18
Author: user854029, 2015-12-17 11:10:03