Прошу помощи. Подсмотрел чужой код. Вывел ег она сайте. Список платежных систем формируется, но ничего не работает.
Вылетает ошибка
POST /local/templates/autoprofi/components/bitrix/sale.personal.order.list/.default/edit_order.php 500 (Internal Server Error)
Помогите разобраться, у автора кода, по его словам, все работало.
Компонент sale.personal.order.list
правим result_modifier.php
[CODE]<?
if(CModule::IncludeModule("sale")){
foreach($arResult['ORDERS'] as $k=>$order){
$id_order[]=$order['ORDER']['ID'];
$dbPaySysAction = CSalePaySystemAction::GetList(
array(),
array(
"PAY_SYSTEM_ID" => $order["ORDER"]["PAY_SYSTEM_ID"],
"PERSON_TYPE_ID" => $order["ORDER"]["PERSON_TYPE_ID"]
),
false,
false,
array("NAME", "ACTION_FILE", "NEW_WINDOW", "PARAMS", "ENCODING")
);
if ($arPaySysAction = $dbPaySysAction->Fetch())
{
if (strlen($arPaySysAction["ACTION_FILE"]) > 0)
{
$arResult['ORDERS'][$k]['ORDER']['PAY_SYSTEM']['INCLUDE']=false;
$arResult['ORDERS'][$k]['ORDER']['PAY_SYSTEM']["PATH_TO_ACTION"] = htmlspecialcharsbx('/personal/order/payment/').'?ORDER_ID='.urlencode(urlencode($order['ORDER']["ACCOUNT_NUMBER"]));
}
}
}}?>
[/CODE]
правим template.php.php
[CODE] <sc ript type="text/javascript">
$(document).ready(function(){
$('.pay_system_button').click(function(){
$.post("/local/templates/autoprofi/components/bitrix/sale.personal.order.list/.default/edit_order.php",$("#edit_pay_system"+$(this).attr('rel')).serialize(),function(){
});
$(this).parent().parent().find('.pay_system_name').text($(this).parent().find('option:selected').text())
$("#edit_pay_system"+$(this).attr('rel')).hide();
$(this).parent().parent().find('.edit_pay_system').show();
return false;
})
})
</sc ript>
<?if($order["ORDER"]['STATUS_ID']=="N"){?>
<fo rm id="edit_pay_system<?=$order["ORDER"]["ID"]?>" style="">
<input type="hidden" value="<?=$order["ORDER"]["ID"]?>" name="order_id"/>
<select name="pay_system" class="pay_system">
<?foreach($arResult['INFO']['PAY_SYSTEM'] as $pay_system){
if($pay_system['ACTIVE']=='Y'){?>
<option <?=($pay_system["ID"]==$arResult["INFO"]["PAY_SYSTEM"][$order["ORDER"]["PAY_SYSTEM_ID"]]["ID"]?'selected':'')?> value="<?=$pay_system['ID']?>"><?=$pay_system['NAME']?></option>
<?}}?>
</select>
<input type="button" class="pay_system_button bt2" rel="<?=$order["ORDER"]["ID"]?>" value="Сохранить" />
</form>
<?}?>
[/CODE]
правим edit_order.php
[CODE]<?
CModule::IncludeModule("sale");
if($_REQUEST['pay_system'])
$arFields = array(
"PAY_SYSTEM_ID" => $_REQUEST['pay_system']
);
CSaleOrder::Update($_REQUEST['order_id'], $arFields);
?>
[/CODE]