Смысл задачи такой: Покупатель делает заказ в интернет-магазине и оплатить пока не может, заказ уходит менеджеру. Менеджер этот заказ одобрит, после чего у покупателя появляется кнопка оплатить заказ.
Для этого решение было использовано такое, файл в одностраничном шаге заказа confirm.php поставили код:
[CODE]<?if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die();?>
<? if (!empty($arResult["ORDER"])) { ?>
// заказ существует идем дальше
<? if ($arResult["ORDER"]["STATUS_ID"]=="N") { ?>
// сообщаем пользователю о том что его заказ сформирован
<? } elseif (!empty($arResult["PAY_SYSTEM"]) && $arResult["ORDER"]["STATUS_ID"]=="A") { ?>
// предлагаем оплатить заказ (Я взял эту часть из стандартного шаблона)
<div class="content pay">
<a href="<?=$arParams["PATH_TO_PAYMENT"]."?ORDER_ID=".urlencode(urlencode($arResult["ORDER"]["ACCOUNT_NUMBER"]));?>" target="_blank" class="paysystem">
<?=CFile::ShowImage($arResult["PAY_SYSTEM"]["LOGOTIP"], 100, 100, "border=0", "", false);?>
<span><?= $arResult["PAY_SYSTEM"]["NAME"] ?></span>
</a>
<div class="info">
<? if (strlen($arResult["PAY_SYSTEM"]["ACTION_FILE"]) > 0) { ?>
<? if ($arResult["PAY_SYSTEM"]["NEW_WINDOW"] == "Y") { ?>
<sc ript language="JavaScript">
window.open('<?=$arParams["PATH_TO_PAYMENT"]?>?ORDER_ID=<?=urlencode(urlencode($arResult["ORDER"]["ACCOUNT_NUMBER"]))?>');
</sc ript>
<?= GetMessage("SOA_TEMPL_PAY_LINK", Array("#LINK#" => $arParams["PATH_TO_PAYMENT"]."?ORDER_ID=".urlencode(urlencode($arResult["ORDER"]["ACCOUNT_NUMBER"]))))?>
<? if (CSalePdf::isPdfAvailable()) { ?>
<br />
<?= GetMessage("SOA_TEMPL_PAY_PDF", Array("#LINK#" => $arParams["PATH_TO_PAYMENT"]."?ORDER_ID=".urlencode(urlencode($arResult["ORDER"]["ACCOUNT_NUMBER"]))."&pdf=1&DOWNLOAD=Y")) ?>
<? } ?>
<? } else { ?>
<? if (strlen($arResult["PAY_SYSTEM"]["PATH_TO_ACTION"])>0) {
include($arResult["PAY_SYSTEM"]["PATH_TO_ACTION"]);
} ?>
<? } ?>
<? } ?>
</div>
</div>
<? } else { ?>
// на тот случай если по той или иной причине не выбрана платежная система (ну мало ли:))
<? } ?>
<? } else { ?>
// Сообщаем что такого заказа не существует
<? } ?>[/CODE]
где N стоит статус заказа уходит на проверку, а A это статус заказа прошедший проверку.
И эта кнопка в итоге появляется на странице после заказа например: нашсайт/personal/order/make/?ORDER_ID=339 , где 339 это номер заказа
но ведь проблема в том, что покупатель может закрыть эту страницу и потом просто не вернуться на нее.
[B]Вопрос:[/B] как можно сделать так, чтобы зайдя в личный кабинет у него была возможность увидеть эту кнопку "Оплатить" напротив заказа?
Для этого решение было использовано такое, файл в одностраничном шаге заказа confirm.php поставили код:
[CODE]<?if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die();?>
<? if (!empty($arResult["ORDER"])) { ?>
// заказ существует идем дальше
<? if ($arResult["ORDER"]["STATUS_ID"]=="N") { ?>
// сообщаем пользователю о том что его заказ сформирован
<? } elseif (!empty($arResult["PAY_SYSTEM"]) && $arResult["ORDER"]["STATUS_ID"]=="A") { ?>
// предлагаем оплатить заказ (Я взял эту часть из стандартного шаблона)
<div class="content pay">
<a href="<?=$arParams["PATH_TO_PAYMENT"]."?ORDER_ID=".urlencode(urlencode($arResult["ORDER"]["ACCOUNT_NUMBER"]));?>" target="_blank" class="paysystem">
<?=CFile::ShowImage($arResult["PAY_SYSTEM"]["LOGOTIP"], 100, 100, "border=0", "", false);?>
<span><?= $arResult["PAY_SYSTEM"]["NAME"] ?></span>
</a>
<div class="info">
<? if (strlen($arResult["PAY_SYSTEM"]["ACTION_FILE"]) > 0) { ?>
<? if ($arResult["PAY_SYSTEM"]["NEW_WINDOW"] == "Y") { ?>
<sc ript language="JavaScript">
window.open('<?=$arParams["PATH_TO_PAYMENT"]?>?ORDER_ID=<?=urlencode(urlencode($arResult["ORDER"]["ACCOUNT_NUMBER"]))?>');
</sc ript>
<?= GetMessage("SOA_TEMPL_PAY_LINK", Array("#LINK#" => $arParams["PATH_TO_PAYMENT"]."?ORDER_ID=".urlencode(urlencode($arResult["ORDER"]["ACCOUNT_NUMBER"]))))?>
<? if (CSalePdf::isPdfAvailable()) { ?>
<br />
<?= GetMessage("SOA_TEMPL_PAY_PDF", Array("#LINK#" => $arParams["PATH_TO_PAYMENT"]."?ORDER_ID=".urlencode(urlencode($arResult["ORDER"]["ACCOUNT_NUMBER"]))."&pdf=1&DOWNLOAD=Y")) ?>
<? } ?>
<? } else { ?>
<? if (strlen($arResult["PAY_SYSTEM"]["PATH_TO_ACTION"])>0) {
include($arResult["PAY_SYSTEM"]["PATH_TO_ACTION"]);
} ?>
<? } ?>
<? } ?>
</div>
</div>
<? } else { ?>
// на тот случай если по той или иной причине не выбрана платежная система (ну мало ли:))
<? } ?>
<? } else { ?>
// Сообщаем что такого заказа не существует
<? } ?>[/CODE]
где N стоит статус заказа уходит на проверку, а A это статус заказа прошедший проверку.
И эта кнопка в итоге появляется на странице после заказа например: нашсайт/personal/order/make/?ORDER_ID=339 , где 339 это номер заказа
но ведь проблема в том, что покупатель может закрыть эту страницу и потом просто не вернуться на нее.
[B]Вопрос:[/B] как можно сделать так, чтобы зайдя в личный кабинет у него была возможность увидеть эту кнопку "Оплатить" напротив заказа?