В пользовательском модуле в 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 и вообще разработкой веб-приложений.Любая помощь будет принята с благодарностью.