} } else { foreach ($res->getErrorMessages() as $error_message) { $message = new CAdminMessage($error_message); break; } $bVarsFromForm = true; } } // ******************************************************************** // // ВЫБОРКА И ПОДГОТОВКА ДАННЫХ ФОРМЫ // // ******************************************************************** // $allProperties = []; // выборка данных if ($ID > 0) { $seoProperty = \Xpage\SeoFilter\PropertyTable::getById($ID)->fetch(); $APPLICATION->SetTitle("Edit {$seoProperty['ID']}"); } $obProperties = \Bitrix\Iblock\PropertyTable::getList(['select' => ['ID', 'NAME'], 'filter' => ['IBLOCK_ID' => \Bitrix\Main\Config\Option::get('xpage.seofilter', 'IBLOCK', 1), 'SECTION_PROPERTY.SMART_FILTER' => 'Y', 'PROPERTY_TYPE' => \Bitrix\Iblock\PropertyTable::TYPE_LIST], 'runtime' => [new Bitrix\Main\Entity\ReferenceField('SECTION_PROPERTY', 'Bitrix\\Iblock\\SectionProperty', ['this.ID' => 'ref.PROPERTY_ID'], ['join_type' => 'LEFT'])]]); while ($arProperty = $obProperties->fetch()) { $allProperties[] = $arProperty; } // ******************************************************************** // // ВЫВОД ФОРМЫ // // ******************************************************************** // // не забудем разделить подготовку данных и вывод require $_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/main/include/prolog_admin_after.php"; // конфигурация административного меню $aMenu = [["TEXT" => "Список", "TITLE" => "Список", "LINK" => "seofilter_property.php", "ICON" => "btn_list"], ["TEXT" => "Удалить", "TITLE" => "Удалить", "LINK" => "javascript:if(confirm('" . "Да, прошу вас" . "')) window.location='/bitrix/admin/seofilter_property.php?ID=" . $ID . "&action=delete&lang=" . LANGUAGE_ID . "&" . bitrix_sessid_get() . "';", "ICON" => "btn_delete"]]; // создание экземпляра класса административного меню $context = new CAdminContextMenu($aMenu);
$arID[] = $arRes['ID']; } } foreach ($arID as $ID) { $ID = intval($ID); if ($ID <= 0) { continue; } switch ($_REQUEST['action']) { case "delete": \Xpage\Seofilter\PropertyTable::delete($ID); break; } } } $obGroups = \Xpage\Seofilter\PropertyTable::getList(['order' => ['ID' => 'ASC'], 'select' => ['ID', 'TITLE', 'SORT', 'PROPERTY_ID', 'PROPERTY_NAME' => 'PROPERTY.NAME']]); $obGroups = new CAdminResult($obGroups, $listTableId); $obGroups->NavStart(); $adminList->NavText($obGroups->GetNavPrint("Разделы")); $colHeaders = [["id" => 'ID', "content" => 'ID', "sort" => 1, "default" => true], ["id" => 'TITLE', "content" => 'TITLE', "sort" => 2, "default" => true], ["id" => 'SORT', "content" => 'SORT', "sort" => 3, "default" => true], ["id" => 'PROPERTY_NAME', "content" => 'PROPERTY_NAME', "sort" => 4, "default" => true]]; $adminList->AddHeaders($colHeaders); $visibleHeaderColumns = $adminList->GetVisibleHeaderColumns(); $arUsersCache = []; while ($arRes = $obGroups->GetNext()) { $row =& $adminList->AddRow($arRes["ID"], $arRes); $arActions = [["ICON" => "delete", "TEXT" => "Удалить", "ACTION" => $adminList->ActionDoGroup($arRes["ID"], "delete")], ["ICON" => "edit", "TEXT" => "Редактировать", "ACTION" => $adminList->ActionRedirect("seofilter_property_edit.php?ID=" . $arRes["ID"] . "&lang=" . LANGUAGE_ID), "DEFAULT" => true], ["ICON" => "", "TEXT" => "Замена", "ACTION" => $adminList->ActionRedirect("seofilter_property_values_edit.php?ID=" . $arRes["PROPERTY_ID"] . "&lang=" . LANGUAGE_ID)]]; $row->AddActions($arActions); } $adminList->AddFooter([["title" => "Всего", "value" => $obGroups->SelectedRowsCount()], ["counter" => true, "title" => "Отмечено", "value" => "0"]]); $adminList->AddGroupActionTable(["delete" => "Удалить"]); $aContext = [["TEXT" => GetMessage("MAIN_ADD"), "LINK" => "seofilter_property_edit.php", "TITLE" => GetMessage("POST_ADD_TITLE"), "ICON" => "btn_new"]];