Универсальные списки Битрикс, добавить, удалить свойство через api

Добавление св-ва

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
\Bitrix\Main\Loader::includeModule("lists");
$res = new \CListFieldList(ID_инфоблока);
$res->AddField([
"TYPE" => 'L',//Тип поля
"CODE" => "SPISOK",//символьный код
"NAME" => "Список",//название
"SORT" => '100',
"VALUES" => [ //значения для списочного поля
[
"VALUE" => "Да"
]
],
"SETTINGS" => [
'SHOW_ADD_FORM' => 'Y',
'SHOW_EDIT_FORM' => 'Y',
'ADD_READ_ONLY_FIELD' => 'N',
'EDIT_READ_ONLY_FIELD' => 'N',
'SHOW_FIELD_PREVIEW' => 'N',
]
]);
\Bitrix\Main\Loader::includeModule("lists"); $res = new \CListFieldList(ID_инфоблока); $res->AddField([ "TYPE" => 'L',//Тип поля "CODE" => "SPISOK",//символьный код "NAME" => "Список",//название "SORT" => '100', "VALUES" => [ //значения для списочного поля [ "VALUE" => "Да" ] ], "SETTINGS" => [ 'SHOW_ADD_FORM' => 'Y', 'SHOW_EDIT_FORM' => 'Y', 'ADD_READ_ONLY_FIELD' => 'N', 'EDIT_READ_ONLY_FIELD' => 'N', 'SHOW_FIELD_PREVIEW' => 'N', ] ]);
\Bitrix\Main\Loader::includeModule("lists");
    $res = new \CListFieldList(ID_инфоблока);
    $res->AddField([
      "TYPE" => 'L',//Тип поля
      "CODE" => "SPISOK",//символьный код
      "NAME" => "Список",//название
      "SORT" => '100',
      "VALUES" => [ //значения для списочного поля
        [
          "VALUE" => "Да"
        ]
      ],
      "SETTINGS" => [
        'SHOW_ADD_FORM' => 'Y',
        'SHOW_EDIT_FORM' => 'Y',
        'ADD_READ_ONLY_FIELD' => 'N',
        'EDIT_READ_ONLY_FIELD' => 'N',
        'SHOW_FIELD_PREVIEW' => 'N',
      ]
    ]);

Удаление

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
\Bitrix\Main\Loader::includeModule("lists");
\Bitrix\Main\Loader::includeModule("iblock");
$iblockID = 30; //символьный код
$properties = \CIBlockProperty::GetList([], [
"CODE" => "SPISOK", //символьный код
"IBLOCK_ID" => $iblockID
]);
if ($prop_fields = $properties->GetNext()) {
$res = new \CListFieldList($iblockID);
$res->DeleteField('PROPERTY_'.$prop_fields['ID']);
}
\Bitrix\Main\Loader::includeModule("lists"); \Bitrix\Main\Loader::includeModule("iblock"); $iblockID = 30; //символьный код $properties = \CIBlockProperty::GetList([], [ "CODE" => "SPISOK", //символьный код "IBLOCK_ID" => $iblockID ]); if ($prop_fields = $properties->GetNext()) { $res = new \CListFieldList($iblockID); $res->DeleteField('PROPERTY_'.$prop_fields['ID']); }
\Bitrix\Main\Loader::includeModule("lists");
    \Bitrix\Main\Loader::includeModule("iblock");
    $iblockID = 30; //символьный код
    $properties = \CIBlockProperty::GetList([], [
        "CODE" => "SPISOK", //символьный код
        "IBLOCK_ID" => $iblockID
    ]);
    if ($prop_fields = $properties->GetNext()) {
      $res = new \CListFieldList($iblockID);
      $res->DeleteField('PROPERTY_'.$prop_fields['ID']);
    }