Checkbox::GetUserTypeDescription();
<?php
use Bitrix\Main\Localization\Loc;
use CIBlockProperty;
Loc::loadMessages(__FILE__);
class Checkbox
{
const PROPERTY_TYPE = 'S';
const USER_TYPE = 'checkbox';
public static function GetUserTypeDescription(): array
{
return [
'PROPERTY_TYPE' => self::PROPERTY_TYPE,
'USER_TYPE' => self::USER_TYPE,
'DESCRIPTION' => Loc::getMessage('checkbox_NAME'),
'GetAdminListViewHTML' => [__CLASS__, 'getTextValue'],
'GetPublicViewHTML' => [__CLASS__, 'getTextValue'],
'GetPropertyFieldHtml' => [__CLASS__, 'getPropertyFieldHtml'],
'AddFilterFields' => [__CLASS__, 'addFilterFields'],
'GetPublicFilterHTML' => [__CLASS__, 'getFilterHTML'],
'GetAdminFilterHTML' => [__CLASS__, 'getFilterHTML'],
'ConvertToDB' => [__CLASS__, 'convertToDB'],
'ConvertFromDB' => [__CLASS__, 'convertFromDB'],
'GetSearchContent' => [__CLASS__, 'getSearchContent'],
'GetLength' => [__CLASS__, 'getLength'],
];
}
public static function getTextValue($property, $value, $htmlControl): string
{
return $value['VALUE'] == 'Y'
? Loc::getMessage('checkbox_Y')
: Loc::getMessage('checkbox_N');
}
public static function getPropertyFieldHtml($property, $value, $htmlControl): string
{
return '<input type="checkbox" name="' . $htmlControl['VALUE'] . '" value="Y" ' . ($value['VALUE'] == 'Y' ? 'checked="checked"' : '') . ' />';
}
public static function convertToDB($property, $value): array
{
return self::convertToFromDB($property, $value);
}
private static function convertToFromDB($property, $value): array
{
$value['VALUE'] = $value['VALUE'] == 'Y' ? 'Y' : 'N';
return $value;
}
public static function convertFromDB($property, $value): array
{
return self::convertToFromDB($property, $value);
}
public static function getLength($property, $value): int
{
return 1;
}
}
$db_contacts = CIBlockElement::GetProperty(1, 1, array("SORT" => "ASC"), Array());
ВАШ_САЙТ/bitrix/admin/iblock_type_admin.php?lang=ru
и смотрим что там бывает в столбце id, после чего по очереди пробуем подставить это значение в строку выше вместо вопросительного знака в после равно в строке type=? напримерВАШ_САЙТ/bitrix/admin/iblock_element_edit.php?IBLOCK_ID=1&ID=1&type=settings
/bitrix/templates/ВАШ_ШАБЛОН_САЙТА
/bitrix/components/bitrix/ВАШ_КОМПОНЕНТ/templates/ВАШ_ШАБЛОН_КОМПОНЕНТА
result_modifier.php
который должен лежать рядом с вашим template.php
.$property
был на странице шаблона, поместите его в массив $arResult
$propertyArr = [];
$dbResult = CIBlockElement::GetList([],
["IBLOCK_ID" => 18, "ACTIVE" => "Y", "SECTION_ID" => 24],
false,
false,
["ID",'PROPERTY_COUNTRY_VALUE']
);
while ($ob = $dbResult->GetNext()) {
array_push($propertyArr, $ob['PROPERTY_COUNTRY_VALUE_ENUM_ID']);
}
$enums= array_unique($propertyArr);
$property = CIBlockPropertyEnum::GetList(
['VALUE' => 'ASC'],
["IBLOCK_ID"=>18, "ID" => $enums]
);
$arResulit['PROPERTY'] = $property;
$arResulit
ещё нет такого ключа, или измените его на другой.result_modifier.php
тут: https://dev.1c-bitrix.ru/learning/course/index.php... b_iblock_property_enum
в базе данных и удалить их оттуда. Но в этом не будет смысла если при какой-либо следующей выгрузке они прилетят снова./bitrix/admin/perfmon_table.php?lang=ru&table_name=b_iblock_property_enum
CIBlock::ReplaceDetailUrl()
передав первым аргументом шаблон ссылки, а вторым - массив всех нужные параметров для замены. /local/templates/ваш_шаблон/components/bitrix/sale.personal.section/bo-personal/template.php
/bitrix/templates/ваш_шаблон/components/bitrix/sale.personal.section/bo-personal/template.php
$isLowPhpVersion = version_compare(phpversion(), '8.0.0', '<');
if ($isLowPhpVersion) {
$errorMessage = 'Module require php 8.0 or higher.';
return false;
}
global $APPLICATION;
\Bitrix\Main\Localization\Loc::loadMessages(__FILE__);
$isLowPhpVersion = version_compare(phpversion(), '8.0.0', '<');
if ($isLowPhpVersion) {
$APPLICATION->ThrowException(\Bitrix\Main\Localization\Loc::getMessage('CHECK_PHP_VERSION_ERROR'));
return false;
}