PrestaShop hookDisplayAdminProductsExtra - jquery не работает - PullRequest
0 голосов
/ 30 марта 2019

В пользовательском модуле в prestashop 1.6.1.23 я хочу использовать jquery в бэк-офисе, на вкладке сведений о продукте.Для создания вкладки я использую функцию hookDisplayAdminProductsExtra.JQuery загружен и, кажется, работает.Однако, если я попытаюсь использовать простую вещь, например, скрыть элемент, ничего не произойдет.

Простой сценарий:

Функция подключения

public function hookDisplayAdminProductsExtra()
{
   return $this->display(__FILE__, '/views/templates/admin/j_product_tab.tpl');
}  

Шаблон

<div class="aaa" id="abc">test</div>

Сценарий

window.onload = function() {
    $(".aaa").hide();
}

Результат: в деталях продукта есть дополнительная вкладка.На вкладке есть div со словом «test».Но он остается видимым.

Выполнение теста путем добавления

if (window.jQuery) {  
    alert("OK");
} else {
    alert("not OK");
}

приносит желаемый результат => предупреждение с «OK», поэтому сам jquery работает.Но поскольку страница сведений о продукте использует множество других сценариев, у меня есть подозрение, что сценарии из моего модуля каким-то образом «блокируются», «переопределяются» ... Мне показалось, что переключение вкладок сведений о продукте приводит к перезагрузкесодержимое всех других вкладок, поэтому я попытался запустить сценарий только при активной дополнительной вкладке.

Поэтому я использовал обходной путь в сценарии:

var a = document.getElementById('abc');
a.onmouseover = doHide;

function doHide() {
   $(".aaa").hide();
}

Использование этого временного решения, еслиЯ захожу на страницу продукта, переключаюсь на дополнительную вкладку и перемещаю курсор мыши по элементу, сценарий успешно выполняется и элемент скрывается.Но мне нужно выполнить более сложные вещи в скрипте, которые не запускаются даже при использовании этого обходного пути.Поэтому мне нужно найти основную причину.

Есть ли у кого-то опыт работы с этой конкретной областью (информация о продукте) и использования jquery?Что я могу сделать, чтобы устранить эту проблему?

Я чувствую, что должен использовать некоторую отладку, или я упускаю что-то очевидное, но это мой первый опыт работы с модулем prestashop и вообще разработкой веб-приложений.Любая помощь будет принята с благодарностью.

...