Как в sale.order.ajax после выбора «Тип плательщика», развернуть блок «Покупатель»?

Сейчас при загрузке страницы с оформлением заказа (sale.order.ajax / D7), у меня все блоки раскрыты. Но стоит сменить "Тип плательщика", блок "Покупатель" схлопывается, как раскрыть блок после выбора "Тип плательщика"
  • Вопрос задан
  • 1954 просмотра
Пригласить эксперта
Ответы на вопрос 2
@OceanOfWisdom
sale.order.ajax: раскрыть все блоки.

.default шаблон sale.order.ajax.

1. Активируем редактирование блоков "Регион" и "Пользователь":
Комментируем строчки с 1694 по 1698
/*if (this.activeSectionId !== this.regionBlockNode.id)
	this.editFadeRegionContent(this.regionBlockNode.querySelector('.bx-soa-section-content'));

if (this.activeSectionId != this.propsBlockNode.id)
	this.editFadePropsContent(this.propsBlockNode.querySelector('.bx-soa-section-content'));*/


2. Убираем кнопки "Назад" и "Далее":
Комментируем строчки с 2224 по 2234
/*node.appendChild(
	BX.create('DIV', {
		props: {className: 'row bx-soa-more'},
		children: [
			BX.create('DIV', {
				props: {className: 'bx-soa-more-btn col-xs-12'},
				children: buttons
			})
		]
	})
);*/


3. Раскрываем все блоки:
Меняем строчку 2461 с
var active = section.id == this.activeSectionId

На строчку
var active = true,

4. Убираем действия при клике на заголовки:
Комментируем строчки с 2465 по 2478
/*BX.unbindAll(titleNode);
if (this.result.SHOW_AUTH)
{
	BX.bind(titleNode, 'click', BX.delegate(function(){
		this.animateScrollTo(this.authBlockNode);
		this.addAnimationEffect(this.authBlockNode, 'bx-step-good');
	}, this));
}
else
{
	BX.bind(titleNode, 'click', BX.proxy(this.showByClick, this));
	editButton = titleNode.querySelector('.bx-soa-editstep');
	editButton && BX.bind(editButton, 'click', BX.proxy(this.showByClick, this));
}*/


5. Убираем ссылки "Изменить":
Добавляем в конец функции editOrder на строке 2404 следующий код
var editSteps = this.orderBlockNode.querySelectorAll('.bx-soa-editstep'), i;
for (i in editSteps) {
	if (editSteps.hasOwnProperty(i)) {
		BX.remove(editSteps[i]);
		}
	}
Ответ написан
@kolobets
Поправка, вместо:

3. Раскрываем все блоки:
Меняем строчку 2461 с
var active = section.id == this.activeSectionId

На строчку
var active = true,

Делаем следующее:

Перед var active = section.id == this.activeSectionId

добавляем this.activeSectionId = section.id;

Иначе все крашится.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы