Первое что мне потребовалось сделать: заменить слайдер фотографий в карточке товара и свойства SKU перевести в табличную верстку...
заменить слайдер фотографий в карточке товара Первый вопрос к разработчикам: почему 5 превью в строку? почему это жестко и отдельно прописано в шаблоне и в js-обработчике!? Как же MVC??
уже 2 часа ковыряю script.js но так и не смог найти где устанавливается размер превьюшек. А ведь я подключил сторонний плагин адаптивного слайдера одним дополнительным классом!
свойства SKU перевести в табличную верстку Первый вопрос опять к разработчикам: почему замена ТОЛЬКО тегов div,ul,li на table,tr,td полностью ломается вся работа шаблона!?? Классы и id остаются прежними, вложенность классов не меняется(мало ли, js очень большой )
По click на свойстве происходит вызов "SelectOfferProp" из которого вызывается "SearchOfferPropIndex" в котором я просто не могу понять смысл! this.treeProps - все SKU (ID, SHOW_MODE, VALUES_COUNT) index - индекс click-нутого this.treeProps
потом идет перебор
Код
for (i = index+1; i < this.treeProps.length; i++){ // Что за index+1??? Почему проверяются SKU только после изменяемого?
и вызов секретной функции GetRowValues(arFilter, strName) - должна проверять возможные значения SKU?? UpdateRow(i, arFilter[strName], arShowValues, arCanBuyValues) - обновляет строку свойства SKU и скрывает недопустимые варианты? ChangeInfo() - обновляет карточку товара, описание, фотографии и прочее?
Лично у меня ошибка в UpdateRow - не скрывает/отображает варианты SKU (Cannot read property 'nodeType' of null) При клике на значение свойства SKU у меня в UpdateRow попадают следующие свойства SKU!((( ПОЧЕМУ?
Прошу помощи! Пусть этот топик станет пристанищем заблудших душ молодых разработчиков bitrix)))
Выражаю солидарность! )) Поменял слайдер в шаблоне и всё Cannot read property 'nodeType' of null может кому пригодится там есть метод в прототипе называется ChangeInfo() вот из него можно выкосить всё что вы не используете в своём шаблоне, например стандартный слайдер. И тогда всё работает )
А ещё для отладки (опять таки если кто не знает) своего шаблона там же в script.js найдите метод Init() и в конце выведите код ошибки:
Код
console.log('Error code: ' + this.errorCode)
Если ошибок нет, errorCode равен нулю, иначе ищите по коду что изменил значение errorCode.