Как объявить глобальную переменную в mendix?
Я хочу объявить переменную, значение которой может отображаться в любом месте приложения (на любой странице) и может быть изменено из любого микропотока. Как мы можем сделать это??
1 ответ
Поскольку все изменяемые значения в mendix представлены атрибутами в сущности, вам необходимо создать сущность, чтобы иметь возможность изменять значение. Ближайшая вещь к глобальной переменной в Mendix - это атрибут одноэлементного объекта.
Предположим, мы хотим изменить некоторые настройки вашего приложения через его интерфейс или в микропотоке. Для этого мы можем создать сущность AppSettings с атрибутами для всех различных "глобальных переменных", которые нужно установить.
Чтобы сделать его одноэлементным объектом, нам нужно убедиться, что в базе данных есть только один объект такого рода. Для этого обычной практикой является реализация микропотока GetOrCreate, который извлекает объект AppConfiguration из базы данных и создает его, если его еще нет.
Теперь мы можем использовать "GetOrCreateAppConfiguration" где угодно, где нам нужно прочитать или изменить настройки нашего приложения, например, микропоток.
Используя "GetOrCreateAppConfiguration", мы также можем создать страницу с настройками, где администраторы могут изменять атрибуты AppConfiguration, используя DataView с извлечением Microflow.
Мы также можем использовать представление данных для отображения "глобальной переменной" AppName для пользователей и использовать условную видимость, основанную на флаге функции "глобальные переменные", чтобы показать или скрыть элементы пользовательского интерфейса. Обратите внимание, что это означает, что мы, вероятно, не должны предоставлять обычным пользователям доступ на запись к атрибутам AppConfiguration.