1. Создать схему замещающего объекта
- Перейдите в раздел Конфигурация (Configuration) и выберите пользовательский пакет, в который будет добавлена схема.
-
На панели инструментов реестра раздела нажмите Добавить —> Замещающий объект (Add —> Replacing object).
-
Заполните свойства схемы.
- Код (Code) — "KnowledgeBase".
- Заголовок (Title) — "Статья базы знаний" ("Knowledge base article").
- Родительский объект (Parent object) — выберите "KnowledgeBase".
-
В схему добавьте колонку.
- В контекстном меню узла Колонки (Columns) структуры объекта нажмите .
-
В выпадающем меню нажмите Другие —> Ссылка на изображение (Other —> Image Link).
-
Заполните свойства добавляемой колонки.
- Код (Code) — "UsrLogo".
- Заголовок (Title) — "Логотип статьи базы знаний" ("Knowledge base article logo").
- На панели инструментов дизайнера объектов нажмите Сохранить (Save), а затем Опубликовать (Publish).
2. Создать схему замещающей модели представления страницы статьи базы знаний
- Перейдите в раздел Конфигурация (Configuration) и выберите пользовательский пакет, в который будет добавлена схема.
-
На панели инструментов реестра раздела нажмите Добавить —> Замещающая модель представления (Add —> Replacing view model).
-
Заполните свойства схемы.
- Код (Code) — "KnowledgeBasePageV2".
- Заголовок (Title) — "Knowledge base edit page".
- Родительский объект (Parent object) — выберите "KnowledgeBasePageV2".
-
Добавьте изображение.
- В контекстном меню узла Изображения (Images) нажмите кнопку .
-
Заполните свойства изображения.
- Код (Code) — "DefaultLogo".
- Изображение (Image) — выберите файл с изображением.
- Для добавления изображения нажмите Добавить (Add).
- В объявлении класса модели представления в качестве зависимостей добавьте модули KnowledgeBasePageV2Resources и ConfigurationConstants.
-
Настройте расположение поля с изображением.
Поле с изображением планируется разместить в верхней части страницы статьи базы знаний. Добавление поля с изображением может нарушить расположение полей базовой страницы. Чтобы этого избежать, кроме размещения поля с изображением, необходимо дополнительно изменить расположение существующих полей, которые находятся в верхней части страницы. Это поля Название (Name), Тип (Type), Изменил (Modified By).
-
В свойстве methods реализуйте методы:
- getPhotoSrcMethod() — получает изображение по ссылке.
- beforePhotoFileSelected() — вызывается перед открытием диалогового окна выбора изображения.
- onPhotoChange() — вызывается при изменении изображения.
- onPhotoUploaded() — сохраняет ссылку на измененное изображение в колонке объекта.
- В массив модификаций diff добавьте конфигурационный объект с настройками расположения поля с изображением и существующих полей на странице. Поле с изображением добавляется на страницу с использованием вспомогательного контейнера-обертки PhotoContainer с классом "image-edit-container".
Исходный код схемы замещающей модели представления страницы статьи базы знаний представлен ниже.
-
- На панели инструментов дизайнера нажмите Сохранить (Save).
Результат выполнения примера
Чтобы посмотреть результат выполнения примера, обновите страницу раздела База знаний (Knowledge base).
В результате выполнения примера на страницу статьи базы знаний добавлено поле с изображением. Изображение можно изменить или удалить.