Баннеры
Материал из ISPWiki
Баннер - это элемент интерфейс, отображаемый в верней части экрана и служащий для предоставления пользователю какой-либо важной информации независимо от того, в каком модуле он находится.
Для формирования баннера своим обработчиком необходимо создать XML элемент следующего вида:
<xs:element name="banner">
<xs:complexType>
<xs:attribute name="id" use="required"/>
<xs:attribute name="status" use="required"/>
<xs:attribute name="infotype"/>
<xs:attribute name="info"/>
<xs:attribute name="nodismiss"/>
</xs:complexType>
</xs:element>
Элемент banner cодержит сообщение, отображаемое пользователю.
- атрибут id
- Имя баннера, уникальный идентификатор.
- атрибут status
- Приоритет, важность информации
- атрибут infotype
- Тип информации, на которую ведет ссылка "Подробнее", отображаемая на баннере.
- атрибут info
- Информация для формирования ссылки "Подробнее"
- атрибут nodismiss
- При наличии данного атрибута ссылка на баннере "Скрыть" не отображается
Атрибут status может принимать значения:
- 1
- Критическая информация, баннер отображается красным цветом.
- 2
- Предупреждающая информация, баннер отображается желтым цветом.
- 3
- Полезная информация, баннер отображается зеленым цветом.
Атрибут infotype может принимать значения:
- help
- Ссылка ведет на документацию, в атрибуте info указано имя раздела справки
- url
- Произвольная ссылка, которая полностью указана в атрибуте info
- func
- Ссылка ведет на другой модуль интерфейса, его имя указано в атрибуте info
- formfunc
- Ссылка ведет на другой модуль интерфейса, который отображается в виде формы, его имя указано в атрибуте info
Если во время обработки функции было сформировано несколько баннеров, то отображается тот, у которого больше важность (наименьшее значение атрибута status). При одинаковом приоритете останется баннер, который был сформирован первым.
Для того чтобы управлять баннерами из внешних приложений в ISPmanager (начиная с 4.3.53) существует 3 функции:
- banner.new - установить баннер. Допустимые параметры:
- elid - уникальный идентификатор банера;
- status - см. выше. Значение по умолчанию - 2;
- infotype - см. выше. Значение по умолчанию - help;
- info - см. выше;
- param - дополнительные параметры;
- banner.del - удалить баннер. Допустимые параметры:
- elid - уникальный идентификатор банера;
- dismiss - скрыть баннер. Допустимые параметры:
- elid - уникальный идентификатор банера;
Баннер устанавливается для текущего авторизованного пользователя. Например, для того чтобы установить баннер для root, необходимо из под рута выполнить выполнить следующую комманду:
/usr/local/ispmgr/sbin/mgrctl banner.new elid=oldpasswd status=1
для того чтобы скрыть его
/usr/local/ispmgr/sbin/mgrctl dismiss elid=oldpasswd
Текст сообщения необходимо размещать в файле XML описаний, точно так же, как это делается для плагинов, например файл etc/ispmgr_mod_customalert.xml
<?xml version="1.0" encoding="UTF-8"?>
<mgrdata>
<lang name="en">
<messages name="alert">
<msg name="myalert">My alert message</msg>
</messages>
</lang>
<lang name="ru">
<messages name="alert">
<msg name="myalert">Текст моего сообщения</msg>
</messages>
</lang>
</mgrdata>
В данном примере объявлено сообщение для баннера с именем (id) myalert
