Что такое BX.proxy_context ? Не могу настроить работу методов класса JCCatalogSection, Ряд ключевых скриптов перестал работать после натягивания своего шаблона, однако я не могу их поправить т.к. не знаю что такое BX.proxy_context
Добрый день! Натянул свой шаблон на комплексный компонент каталога, т.к. вёрстка серьёзно изменилась перестали работать некоторые методы класса JCCatalogSection (объекты этого класса создаются по ходу вывода данных компонентом bitrix.section, дальше работа с элементами каталога (покупка, +, - количество и пр.) идёт через эти объекты). В моём случае перестал работать метод SelectOfferProp который выводит свойства относящиеся только к определённому элементу а не все сразу путём добавления класса bx_active
Код
if (value == arTreeItem[1])
BX.addClass(RowItems[i], 'bx_active');
else
BX.removeClass(RowItems[i], 'bx_active');
т.е. если параметры свойства из объекта совпало со списком всех свойств подставляем класс bx_active, вот весь код метода:
Код
JCCatalogSection.prototype.SelectOfferProp = function(e)
{
if (!e) e = window.event;
var target = BX.proxy_context;
if (!!target && target.hasAttribute('data-treevalue'))
{
var strTreeValue = target.getAttribute('data-treevalue');
var arTreeItem = strTreeValue.split('_');
if (this.SearchOfferPropIndex(arTreeItem[0], arTreeItem[1]))
{
var RowItems = BX.findChildren(target.parentNode, {tagName: 'li'}, false);
if (!!RowItems && 0 < RowItems.length)
{
for (i = 0; i < RowItems.length; i++)
{
value = RowItems[i].getAttribute('data-onevalue');
if (value == arTreeItem[1])
BX.addClass(RowItems[i], 'bx_active');
else
BX.removeClass(RowItems[i], 'bx_active');
}
}
}
}
};
у меня сейчас свойства вываливаются все вот так: http://myscreenshot.info/i/0003/641571395325433698195756167326.png хотя из цветов должен показываться только синий. В данном методе мне не совсем понятно что такое BX.proxy_context - нигде не нашёл описание этого метода. Понятно что он передаёт в переменную target элемент списка с атрибутом data-treevalue и дальше разбирая его на ID свойства и ID значения выясняет какое значение соответствует конкретно этому торговому предложению. Но что такое proxy_context, как он точно работает мне не понятно. По сути сейчас у меня proxy_contextе находит нужного элемента в DOM структуре и потому класс bx_active не применяется и мы видим такую картину http://myscreenshot.info/i/0003/641571395325433698195756167326.png подскажите что это за метод, где найти его описание или инициализацию, как он работает? Заранее спасибо!
Вероятно, она содержит объект,на котором отработало событие делегированное (Prozy/delegate). Наверно у вас поменялся способ смены свойства, в стандарте там список ul-li и событие click. Я поменял на select-option c событием change(правильно же? не select?) и до target просто не доходит или вообще функция падает.