В зависимости от значения $_REQUEST["CurrentStep"] в компоненте определяется шаг оформления заказа и производятся нужные выборки. В компоненте помеченны части кода, которые выполняются на различных шагах:
Например, шаг первый:
Код |
---|
//------------------ STEP 1 ----------------------------------------------
if ($arResult["CurrentStep"] == 1)
{
$arResult["PERSON_TYPE_INFO"] = Array();
$dbPersonType = CSalePersonType::GetList(
array("SORT" => "ASC"),
array("LID" => SITE_ID)
);
$bFirst = True;
while ($arPersonType = $dbPersonType->GetNext())
{
if (IntVal($arResult["POST"]["PERSON_TYPE"]) == IntVal($arPersonType["ID"]) || IntVal($arResult["POST"]["PERSON_TYPE"]) <= 0 && $bFirst)
$arPersonType["CHECKED"] = "Y";
$arResult["PERSON_TYPE_INFO"][] = $arPersonType;
$bFirst = False;
}
if(CModule::IncludeModule("statistic"))
{
$event1 = "eStore";
$event2 = "Step4_1";
$event3 = "";
if (is_array($arProductsInBasket))
{
foreach($arProductsInBasket as $ar_prod)
{
$event3 .= $ar_prod["PRODUCT_ID"].", ";
}
}
$e = $event1."/".$event2."/".$event3;
if(!is_array($_SESSION["ORDER_EVENTS"]) || (is_array($_SESSION["ORDER_EVENTS"]) && !in_array($e, $_SESSION["ORDER_EVENTS"]))) // check for event in session
{
CStatistic::Set_Event($event1, $event2, $event3);
$_SESSION["ORDER_EVENTS"][] = $e;
}
}
} |
Остальные аналогично.
Для каждого шага оформления подключается свой файл шаблона.
Код |
---|
if ($arResult["CurrentStep"] == 1)
include($_SERVER["DOCUMENT_ROOT"].$templateFolder."/step1.php");
elseif ($arResult["CurrentStep"] == 2)
include($_SERVER["DOCUMENT_ROOT"].$templateFolder."/step2.php");
elseif ($arResult["CurrentStep"] == 3)
include($_SERVER["DOCUMENT_ROOT"].$templateFolder."/step3.php");
elseif ($arResult["CurrentStep"] == 4)
include($_SERVER["DOCUMENT_ROOT"].$templateFolder."/step4.php");
elseif ($arResult["CurrentStep"] == 5)
include($_SERVER["DOCUMENT_ROOT"].$templateFolder."/step5.php");
elseif ($arResult["CurrentStep"] >= 6)
include($_SERVER["DOCUMENT_ROOT"].$templateFolder."/step6.php"); |
Вам просто в компоненте на 5 шаге нужно получить данные, которые вы получаете на 6 шаге. И соответственно, кастомизировать шаблон вывода 5 шага - выводить там данные 5 и 6 шагов.
А вообще, рекомендую использовать компонент bitrix:sale.order.ajax. Там в принципе один шаг.