В 1C-Bitrix есть несколько способов вывода полей формы и значения созданного объекта. Один из наиболее распространенных методов - использование языка шаблонов и компонентов.
1. Создайте новый компонент:
- Откройте папку /bitrix/components/ в файловом менеджере вашего сайта.
- Создайте новую папку для вашего компонента, например, mycomponent.
- Внутри этой папки создайте файл .parameters.php со следующим содержимым:
<?php if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true) die(); /** @var array $arCurrentValues */ $arComponentParameters = array( "PARAMETERS" => array( "IBLOCK_ID" => array( "PARENT" => "BASE", "NAME" => GetMessage("ID инфоблока"), "TYPE" => "STRING", "DEFAULT" => '', ), "ELEMENT_ID" => array( "PARENT" => "BASE", "NAME" => GetMessage("ID элемента"), "TYPE" => "STRING", "DEFAULT" => '', ), // Другие параметры, если необходимо ), );
- В этой же папке создайте файл .default.php со следующим содержимым:
<?php if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true) die(); use BitrixMainLoader, BitrixIblock; Loader::includeModule("iblock"); $arFields = []; if (!empty($arParams["IBLOCK_ID"]) && !empty($arParams["ELEMENT_ID"])) { $arSelect = IblockElementTable::getList([ "filter" => ["IBLOCK_ID" => $arParams["IBLOCK_ID"], "ID" => $arParams["ELEMENT_ID"]], "select" => ["ID", "NAME", "PROPERTY_*"], ])->fetch(); if ($arSelect) { $arFields = [ "ID" => $arSelect["ID"], "NAME" => $arSelect["NAME"], ]; foreach ($arSelect as $code => $value) { if (strpos($code, "PROPERTY_") !== false) { $property = str_replace("PROPERTY_", "", $code); $arFields[$property] = $value; } } } } $this->IncludeComponentTemplate();
- В этой же папке создайте файл template.php со следующим содержимым:
<?php if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true) die(); ?> <? if (!empty($arResult['ID'])): ?> <h1><?= $arResult['NAME'] ?></h1> <? foreach ($arResult as $code => $value): ?> <? if (!in_array($code, ['ID', 'NAME']) && !empty($value)): ?> <p><?= $code ?>: <?= $value ?></p> <? endif; ?> <? endforeach; ?> <? else: ?> <p><?= GetMessage("Элемент не найден") ?></p> <? endif; ?>
2. Теперь вы можете использовать свой компонент в нужной странице, добавив его через компоновщик. Перед этим убедитесь, что вы создали нужный информационный блок и элементы в нем. Вызовите компонент следующим образом:
$APPLICATION->IncludeComponent( "mycomponent:mycomponent", "", [ "IBLOCK_ID" => 1, // Замените на ID вашего инфоблока "ELEMENT_ID" => 1, // Замените на ID вашего элемента ] );
3. После этих действий на этой странице будет выведена форма с полями и значениями объекта:
Название: Ваше название элемента Ваше свойство: Значение свойства элемента ...
В результате вы получите вывод полей формы и их значений, а также вывод сообщения, если элемент не найден. Этот ответ описывает один из возможных подходов к решению задачи, вы можете его изменить и дополнить в соответствии с требованиями вашего проекта.