За последние 24 часа нас посетили 91494 программиста и 5544 робота. Сейчас ищут 1805 программистов ...

Помогите с формой)

Тема в разделе "PHP для новичков", создана пользователем Fuckerpuker, 30 сен 2016.

  1. Fuckerpuker

    Fuckerpuker Новичок

    С нами с:
    30 сен 2016
    Сообщения:
    15
    Симпатии:
    0
    Всем привет!! мне нужно в форму обратной связи добавить поле email но сайт на битриксе и если обычно в связке с html делаю так
    Код (Text):
    1. <p>E-mail: <input name="email" type="text"></p>
    то в битриксе сейчас совсем не так


    Код (Text):
    1. <?if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die();?>
    2.  
    3. <div>
    4.     <div class="title"><?=GetMessage('FORM_HEADER_CAPTION')?></div>
    5.     <a class="jqmClose close"></a>
    6.     <form method="post" id="one_click_buy_form" action="<?echo $arResult['SCRIPT_PATH']?>/script.php">
    7.             <?foreach($arParams['PROPERTIES'] as $field):?>
    8.                 <div class="r">
    9.                     <?
    10.                         if ($USER->IsAuthorized())
    11.                         {
    12.                             if ($field=='FIO') $value = $USER->GetFullName();
    13.                             elseif ($field=='EMAIL') $value = $USER->GetEmail();
    14.                             elseif ($field=='PHONE') $value = $arResult['USER_PHONE'];
    15.                         }
    16.                     ?>
    17.                     <label class="description">
    18.                         <?=GetMessage('CAPTION_'.$field)?>
    19.                         <?if (in_array($field, $arParams['REQUIRED'])):?><span class="starrequired">*</span><?endif;?>
    20.                     </label>
    21.                     <?if ($field=="COMMENT"):?><textarea name="ONE_CLICK_BUY[<?=$field?>]" id="one_click_buy_id_<?=$field?>"></textarea>
    22.                     <?elseif ($field=="EMAIL"):?><input type="text" name="ONE_CLICK_BUY[<?=$field?>]" value="<?=$value?>" id="one_click_buy_id_<?=$field?>" />
    23.                     <?else:?><input type="text" name="ONE_CLICK_BUY[<?=$field?>]" value="<?=$value?>" id="one_click_buy_id_<?=$field?>" /><?endif;?>
    24.                 </div>
    25.             <?endforeach;?>
    26.             <?if ($arParams['USE_SKU']=="Y"):?>
    27.                 <input type="hidden" name="IBLOCK_ID" value="<?=$arParams['IBLOCK_ID']?>" />
    28.                 <input type="hidden" name="USE_SKU" value="Y" />
    29.                 <input type="hidden" name="SKU_CODES" value="<?=$arResult['SKU_PROPERTIES_STRING']?>" />
    30.                 <label><?=GetMessage('CAPTION_SKU_SELECT')?></label>
    31.                 <select name="ELEMENT_ID"><?foreach($arResult['OFFERS'] as $id => $offer_data):?><option value="<?=$id?>"><?=$offer_data?></option><?endforeach;?></select>
    32.             <?endif;?>
    33.  
    34.             <button class="button" type="submit" id="one_click_buy_form_button" name="one_click_buy_form_button" value="<?=GetMessage('ORDER_BUTTON_CAPTION')?>"><span><?=GetMessage("ORDER_BUTTON_CAPTION")?></span></button>
    35.             <div class="promt"><span class="starrequired">*</span> &mdash; <?=GetMessage("IBLOCK_FORM_IMPORTANT");?></div>
    36.  
    37.             <? if ($arParams['USE_SKU']!="Y"):?><input type="hidden" name="ELEMENT_ID" value="<?=$arParams['ELEMENT_ID']?>" /><?endif;?>
    38.             <? if ($arParams['BUY_ALL_BASKET']=="Y"):?><input type="hidden" name="BUY_TYPE" value="ALL" /><?endif;?>
    39.             <? if (intVal($arParams['ELEMENT_QUANTITY'])):?><input type="hidden" name="ELEMENT_QUANTITY" value="<?=intVal($arParams['ELEMENT_QUANTITY']);?>" /><?endif;?>
    40.             <input type="hidden" name="CURRENCY" value="<?=$arParams['DEFAULT_CURRENCY']?>" />
    41.             <input type="hidden" name="PROPERTIES" value='<?=serialize($arParams['PROPERTIES'])?>' />
    42.             <input type="hidden" name="PAY_SYSTEM_ID" value="<?=$arParams['DEFAULT_PAYMENT']?>" />
    43.             <input type="hidden" name="DELIVERY_ID" value="<?=$arParams['DEFAULT_DELIVERY']?>" />
    44.             <input type="hidden" name="PERSON_TYPE_ID" value="<?=$arParams['DEFAULT_PERSON_TYPE']?>" />
    45.             <?=bitrix_sessid_post()?>
    46.     </form>
    47.  
    48.     <div class="one_click_buy_result" id="one_click_buy_result">
    49.         <div class="one_click_buy_result_success"><?=GetMessage('ORDER_SUCCESS')?></div>
    50.         <div class="one_click_buy_result_fail"><?=GetMessage('ORDER_ERROR')?></div>
    51.         <div class="one_click_buy_result_text"><?=GetMessage('ORDER_SUCCESS_TEXT')?></div>
    52.     </div>
    53.  
    54.  
    55. </div>
    56. <script>
    57.     $('#one_click_buy_form').validate({  rules:
    58.     {
    59.         <?
    60.             foreach ($arParams['REQUIRED'] as $key => $value)
    61.             {
    62.                 echo '"ONE_CLICK_BUY['.$value.']": {required : true}';
    63.                 if ($arParams['REQUIRED'][$key+1]) echo ',';
    64.             }
    65.         ?>
    66.     }
    67.     });
    68.     $('.popup').jqmAddClose('.jqmClose');
    69.     $('#one_click_buy_id_PHONE').mask('<?=trim(COption::GetOptionString("aspro.ishop", "PHONE_MASK", "+9 (999) 999-99-99", SITE_ID));?>');
    70. </script>

    как мне добавить в этот код поле для email? как я понимаю начинается добавление полей в строке 27?
     
  2. Fuckerpuker

    Fuckerpuker Новичок

    С нами с:
    30 сен 2016
    Сообщения:
    15
    Симпатии:
    0
    Задача решена в файле one_click_buy_basket.php необходимо в строках


    Код (Text):
    1. "PROPERTIES" => array( 0 => "FIO", 1 => "PHONE", 2 => "COMMENT"), строки которыен должны быть отображены
    2.     "REQUIRED" => array( 0 => "FIO", 1 => "PHONE"), обязательные к заполнению
    прописать EMAIL тогда строки должны выглядеть так


    Код (Text):
    1. "PROPERTIES" => array( 0 => "FIO", 1 => "PHONE", 2 => "EMAIL" , 3 => "COMMENT"),
    2.     "REQUIRED" => array( 0 => "FIO", 1 => "PHONE", 2 => "EMAIL"),