Документация для разработчиков
Темная тема

Библиотеки иконок

Внимание! Мы настоятельно рекомендуем ознакомиться сначала с REST-документацией модуля Сайты, чтобы понять как модуль функционирует (тем более REST доступен и в коробочной версии). Данную документацию рассматривайте как подспорье при работе в коробке, когда вам действительно мало функционала REST, или вы хотите детальнее разобраться в API.

Для типа ноды icon присутствует возможность редактору выбора иконок из ряда предустановленных. В коробочной версии есть возможность как удалять некоторые библиотеки, так и добавлять новые.

В штатной поставке присутствуют следующие библиотеки иконок (в скобках даных системные классы, которые могут вам пригодиться ниже):

Fontawesome (BX.Landing.Icon.FontAwesome)
HS Icons (BX.Landing.Icon.HSIcons)
Simple Line Icons (BX.Landing.Icon.SimpleLine)
Simple Line Icon Pro 1 (BX.Landing.Icon.SimpleLineProOne)
Simple Line Icon Pro 2 (BX.Landing.Icon.SimpleLineProTwo)
100 Line Icons (BX.Landing.Icon.EtLineIcons)

Следующим образом можно зарегистрировать свои библиотеки:

var customLibrary = {
	id: 'my-library',
	name: 'My Library',
	categories: [
		{
			id: 'my-category-id',
			name: 'My Category Name',
			items: [
				'icon-class-name-1',
				'icon-class-name-2',
				...
			]
		}
	]
};
BX.Landing.UI.Panel.Icon.getInstance().libraries.push(customLibrary);

Как вы можете видеть, в items просто перечисляются классы иконок библиотеки. Данный JS-код и сама CSS-библиотека должны присутствовать на странице инициации редактора. В публичной части должна присутствовать только CSS-библиотека. Подключить такой код можно, например, через библиотеки.

Соответственно, аналогичным образом вы можете перетасовать системный набор иконок, и оставить только нужные вам. Тут то и придут на помощь классы, данные в скобочках выше:

BX.Landing.UI.Panel.Icon.getInstance().libraries = [];//Удаление всех предустановленых библиотек
BX.Landing.UI.Panel.Icon.getInstance().libraries.push(BX.Landing.Icon.SimpleLineProTwo)
BX.Landing.UI.Panel.Icon.getInstance().libraries.push(BX.Landing.Icon.EtLineIcons)


© «Битрикс», 2001-2024, «1С-Битрикс», 2024