Wiki

Clone wiki

sprint.editor / Settings

Настройка редактора для инфоблоков

Значения по умолчанию

Создавая элементы инфоблока, приходится каждый раз делать выборку, например "Заголовок+Текст+Картинка". Можно сохранить эту выборку в значение свойства редактора по умолчанию. Заходим в настройки инфоблока, кликаем по настройке поля редактора. В значении по умолчанию откроется тот же самый редактор - набираем в него нужных блоков, сохраняем поле, сохраняем инфоблок. Этот набор блоков и будет по умолчанию выводиться в редакторе при создании элемента. Отключите добавление новых блоков и получите фактически новое составное свойство для вашего элемента.

Индексация

Также можно настроить индексацию текстовых блоков модулем поиска, для этого в инфоблоке должна стоять галочка "Индексировать элементы для модуля поиска", а у свойства с редактором должна стоять галочка "Значения свойства участвуют в поиске"

Пользовательские настройки

Позволяют добавлять дополнительные параметры к блокам, для создания таких настроек надо создать файл с настройками в директории /bitrix/admin/sprint.editor/settings/ или /local/admin/sprint.editor/settings/ за основу можно взять файл example.php

Пример настройки, добавляем текстовым блокам дополнительные стили

$settings = array(
    'title' => 'Пример настройки',

    'block_settings' => array(
        'text' => array(
            'myparam1' => array(
                'type' => 'select',
                'value' => array(
                    'style1' => 'Стиль 1',
                    'style2' => 'Стиль 2',
                    'style3' => 'Стиль 3',
                )
            ),
        ),

        'image' => array(
            'myparam1' => array(
                'type' => 'select',
                'value' => array(
                    'style1' => 'Стиль 1',
                    'style2' => 'Стиль 2',
                    'style3' => 'Стиль 3',
                )
            ),
        ),

    ),

);

Пример настройки, оставляем только определенный набор блоков и 2 сетки

$settings = array(
    'title' => 'Пример настройки',

    'block_enabled' => array(
        'htag',
        'text',
        'gallery',
        'layout_1',
        'layout_2',
    ),
);

Пример настройки, меняем названия блоков

$settings = array(
    'block_titles' => array(
        'text' => 'Супертекст',
        'htag' => 'Суперзаголовок',
    ),
);

После создания такого файла он появится в выпадающем списке пользовательских настроек и после сохранения эти настройки можно увидеть уже у блоков в редакторе.

Эти пользовательские настройки будут доступны в шаблоне блока в публичной части в переменной

$block['settings']['myparam1']

Selection_001.png

Selection_027.png

Отображение пользовательских настроек для текстовых блоков

Selection_072.png

Пример для разграничения к настройками в зависимости от роли и группы пользователей

файл с настройками local/admin/sprint.editor/settings/myexample.php

global $USER;

$userGroups = $USER->GetUserGroupArray();

$moderatorGroup1 = 5;
$moderatorGroup2 = 6;

if (in_array($moderatorGroup1, $userGroups)) {
    $settings = [
        'block_enabled' => [
            'htag',
            'text',
            'gallery',
        ],
    ];
} elseif (in_array($moderatorGroup2, $userGroups)) {
    $settings = [
        'block_enabled' => [
            'htag',
            'text',
            'gallery',
            'image',
            'twitter'
        ],
    ];
}

Пример настройки, заменяющий значения по умолчанию

В каждом блоке админки есть файл config.json в котором задано его название, сортировка, текст подсказки и некоторые общие настройки, отвечающие за отображение блока Их можно переопределить всё в том же файле пользовательских настроек

Параметры:

  • title - Название блока (его также можно переопределить через block_titles)
  • hint - Подсказка всплывающая при наведении на название блока
  • button - html-кнопка вставки блока, в которой можно указать например картинку
  • description -Описание, которое отображается под блоком в админке
$settings = array(
    'title' => 'Пример настройки',

    'block_configs' => [
        'text' => [
            'title'       => 'Текст',
            'hint'        => 'Подсказка',
            'button'      => 'Текст',
            'description' => 'Обратите внимание на этот текст',
        ],
        'htag' => [
            'description' => 'Обратите внимание на этот текст',
        ],
    ],
);

Результат

Selection_050.png

Updated