Хочу изменить последовательность вывода информации в шаблоне компонента Оформление заказа bitrix:sale.order.checkout. Скопировал компонент, но вместо типичной верстки обнаружил следующий шаблон. [CODE]<?php
use Bitrix\Main\UI\Extension;
use Bitrix\Main\Localization\Loc;
if (!defined('B_PROLOG_INCLUDED') || B_PROLOG_INCLUDED !== true)
{
die();
}
Loc::loadMessages(__FILE__);
/**
* @var array $arParams
* @var array $arResult
* @var \SaleOrderCheckout $component
* @var string $templateFolder
*/
Extension::load('sale.checkout.application');
CJSCore::Init('phone_number');
$model = $arResult['JSON_DATA']['MODEL'];
$scheme = $arResult['JSON_DATA']['SCHEME'];
$parameters = $arResult['JSON_DATA']['PARAMETERS'];
if ($arResult['IS_NEW_ORDER'])
{
$options = [
'stage' => 'Application.stage.edit',
'basket' => $scheme['basket'],
'total' => $scheme['total'],
'currency' => $scheme['currency'],
'discount' => $scheme['discount'],
'property' => $scheme['properties'],
'paySystem' => $scheme['paySystems'],
];
if ($arParams['USER_CONSENT_ID'] > 0)
{
$options['consent'] = [
'id' => $arParams['USER_CONSENT_ID'],
'title' => Loc::getMessage('SOC_T_CHECKOUT_ORDER_BUTTON'),
'isLoaded' => $arParams['USER_CONSENT_IS_LOADED'],
'autoSave' => 'Y',
'isChecked' => $arParams['USER_CONSENT_IS_CHECKED'],
'submitEventName' => 'Consent.validate.submit',
'params' => $parameters['userConsentPropertyData'],
];
$options['consentStatus'] =
($arParams['USER_CONSENT_IS_CHECKED'] === 'Y')
? 'Consent.status.accepted'
: 'Consent.status.init'
;
}
}
else
{
$isPaidStage = $scheme['order']['paid'] === 'Y' && $arResult['MODE'] !== 'detail';
$options = [
'stage' => $isPaidStage ? 'Application.stage.payed' : 'Application.stage.view',
'order'=> $scheme['order'],
'basket' => $scheme['basket'],
'total' => $scheme['total'],
'currency' => $scheme['currency'],
'discount' => $scheme['discount'],
'property' => $scheme['properties'],
'hash' => $scheme['order']['hash'],
'accountNumber' => $scheme['order']['accountNumber'],
];
}
$options['messages']['buttonCheckoutTitle'] = Loc::getMessage('SOC_T_CHECKOUT_ORDER_BUTTON');
$options['path']['emptyCart'] = $arParams['URL_PATH_TO_EMPTY_BASKET'];
$options['path']['mainPage'] = $arParams['URL_PATH_TO_MAIN_PAGE'];
$options['product']['noImage'] = $component->getPath() . '/templates/.default/images/pickup_logo.png';
$options['common']['siteId'] = $scheme['siteId'];
$options['common']['personTypeId'] = $scheme['personTypeId'];
$options['common']['tradingPlatformId'] = $model['tradingPlatformId'];
$options['option']['signedParameters'] = $component->getSignedParameters();
$containerId = 'sale-order-checkout-form';
?>
<st yle>
.form-control + .form-control {margin-top: 12px;}
body { min-width: 0 !important;}
</style>
<div class="content">
<div id="<?= $containerId ?>" class="checkout-container">
<sc ript>
BX.ready(function() {
BX.Currency.CurrencyCore.setCurrencyFormat(
'<?= $arResult['CURRENCY'] ?>',
<?= \CUtil::PhpToJSObject(\CCurrencyLang::GetFormatDescription($arResult['CURRENCY']), false, true) ?>
);
let form = new BX.Sale.Checkout.Application(<?= \Bitrix\Main\Web\Json::encode($options)?>);
document.getElementById('<?= $containerId ?>').appendChild(form.layout());
function isOverflown(element) {
return element.scrollHeight > element.clientHeight || element.scrollWidth > element.clientWidth;
}
// let el = document.querySelectorAll('.checkout-item-price-block');
//
// for (var i = 0; i < el.length; i++)
// {
// let item = el[i];
// let fontSize = parseInt(item.style.fontSize);
// for (let i = fontSize; i >= 0; i--)
// {
// let overflow = isOverflown(item);
// if (overflow)
// {
// fontSize--;
// item.style.fontSize = fontSize + "px";
// }
// console.log('el:',item);
// }
// console.log('item:', item);
// }
});
</sc ript>
</div>
</div>
[/CODE]
И никак не могу понять как изменить вывод торговых предложений и последовательность столбцов (Цену установить сразу за характеристиками)