Массовое изменение параметров свойств 1С-Битрикс.

=this.Name}
Задать вопрос
Бывает встречается такая задача - массовое изменение отображения свойств в списке товаров и или в детальной карточке товара.
Для их отображения необходимо в настройках (параметры свойства) у всех включить "Показывать на странице списка элементов" и или "Показывать на детальной странице элемента" (скриншот в шапке).
Но когда на сайте клиента 100+ свойств, в ручную каждое обрабатывать - не наш Вариант).
Для решения задачи можно использовать небольшой php скрипт.
на помощь пришел метод setFeatures класса \Bitrix\Iblock\Model\PropertyFeature
if (\Bitrix\Main\Loader::includeModule('iblock')) {
	$IBLOCK_ID = 17; // Идентификатор инфоблока
	$properties = CIBlockProperty::GetList(
		Array("sort"=>"asc", "name"=>"asc"), 
		Array("ACTIVE"=>"Y", "IBLOCK_ID"=>$IBLOCK_ID)
		);

	while ($prop_fields = $properties->GetNext())
	{
		if($prop_fields["SORT"]=500) { // В данном примере меняли только у тех свойств, у которых сортировка ровна 500.
		\Bitrix\Iblock\Model\PropertyFeature::setFeatures(
		 $prop_fields["ID"],[[
			"MODULE_ID"=>"iblock",
			"IS_ENABLED"=>"Y",
			"FEATURE_ID" => "DETAIL_PAGE_SHOW"
			]]
		);
		}
	}
	
}
В ключе FEATURE_ID доступны следующие значения:
  • LIST_PAGE_SHOW — Показывать на странице списка элементов
  • DETAIL_PAGE_SHOW — Показывать на детальной странице элемента
Заказать услугу
Оформите заявку, мы свяжемся с вами в ближайшее время и ответим на все интересующие вопросы.

 
Текст сообщения*
Загрузить файл или картинкуПеретащить с помощью Drag'n'drop
Перетащите файлы
Ничего не найдено
Загрузить изображение