Full Code of the Component
|
---|
Contents of the file .component.php: <? if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die(); $requiredModules = array('highloadblock'); foreach ($requiredModules as $requiredModule) { if (!CModule::IncludeModule($requiredModule)) { ShowError(GetMessage("F_NO_MODULE")); return 0; } } use Bitrix\Highloadblock as HL; // hlblock info $hlblock_id = $arParams['BLOCK_ID']; $hlblock = HL\HighloadBlockTable::getById($hlblock_id)->fetch(); if (empty($hlblock)) { ShowError('404'); return 0; } $arResult["bVarsFromForm"] = false; $arResult['ERROR'] = ''; global $USER_FIELD_MANAGER; HL\HighloadBlockTable::compileEntity($hlblock); // uf info $arResult['fields'] = $USER_FIELD_MANAGER->GetUserFields('HLBLOCK_'.$hlblock['ID'], 0, LANGUAGE_ID); // save action if($_SERVER["REQUEST_METHOD"] == "POST" && $_POST["add_resume"] <> '' && check_bitrix_sessid()) { $data = array(); $USER_FIELD_MANAGER->EditFormAddFields('HLBLOCK_'.$hlblock['ID'], $data); if (!$GLOBALS["USER_FIELD_MANAGER"]->CheckFields('HLBLOCK_'.$hlblock['ID'], 0, $data)) { if(is_object($APPLICATION) && $APPLICATION->GetException()) { $e = $APPLICATION->GetException(); $errors[] = $e->GetString(); $APPLICATION->ResetException(); } else { $errors[] = "Unknown error."; } } if (empty($errors)) { /** @param Bitrix\Main\Entity\AddResult $result */ $result = ResumeTable::add($data); if($result->isSuccess()) { $ID = $result->getId(); LocalRedirect("resume.php?ID=".intval($ID)); } else { $errors = array_merge($errors, $result->getErrorMessages()); } } if(!empty($errors)) { $arResult['ERROR'] = implode("<br>", $errors); $arResult["bVarsFromForm"] = true; } } $this->IncludeComponentTemplate(); ?> Component template for adding a new entry to an entity (using the example of adding a resume): <? if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die(); if ($arResult['ERROR'] <> '') { ShowError($arResult['ERROR']); } $GLOBALS['APPLICATION']->SetAdditionalCSS('/bitrix/js/highloadblock/css/highloadblock.css'); $GLOBALS['APPLICATION']->SetTitle('Add resume'); ?> <a href="index.php"><?=GetMessage('HLBLOCK_ROW_VIEW_BACK_TO_LIST')?></a><br><br> <form action="" method="POST" enctype="multipart/form-data"> <div class="reports-result-list-wrap"> <div class="report-table-wrap"> <div class="reports-list-left-corner"></div> <div class="reports-list-right-corner"></div> <table cellspacing="0" class="reports-list-table" id="report-result-table"> <tr> <th class="reports-first-column" style="cursor: default"> <div class="reports-head-cell"><span class="reports-head-cell-title"><?=GetMessage('HLBLOCK_ROW_VIEW_NAME_COLUMN')?></span></div> </th> <th class="reports-last-column" style="cursor: default"> <div class="reports-head-cell"><span class="reports-head-cell-title"><?=GetMessage('HLBLOCK_ROW_VIEW_VALUE_COLUMN')?></span></div> </th> </tr> <? foreach($arResult['fields'] as $field): ?> <? $title = $field["EDIT_FORM_LABEL"]? $field["EDIT_FORM_LABEL"]: $field['FIELD_NAME']; ?> <tr> <td class="reports-first-column"> <?=htmlspecialcharsEx($title)?> <?if ($field["MANDATORY"] == "Y"):?> <span class="starrequired">*IncludeComponent( "bitrix:system.field.edit", $field["USER_TYPE"]["USER_TYPE_ID"], array("bVarsFromForm" => $arResult["bVarsFromForm"], "arUserField" => $field), null, array("HIDE_ICONS"=>"Y")); ?></td> </tr> <? endforeach; ?> </table> </div> </div> <br> <input type="submit" name="add_resume" value="Add"> <?=bitrix_sessid_post()?> </form> |
Views: 7728
Last Modified: 02.07.2014
Last Modified: 02.07.2014