Документация ispmanager 6 business

XML-описание интерфейса темы dragon

 

Статья содержит описание узлов и атрибутов для метаданных темы dragon. Общие сведения об XML-описании интерфейсов см. в документации COREmanager.

Боковое меню

Описание бокового меню находится внутри узла mainmenu и наследует его уровень доступа.

Атрибут type="noname" добавляет разделитель между группами. Атрибут name должен быть описан для служебных целей. Остальные узлы node описываются аналогично mainmenu.

Пример описания

<modernmenu>
    <node name="noname_webdomain" type="noname">
      <node name="webdomain" action="webdomain" type="list"/>
      <node name="db" action="db" type="list"/>
      <node name="email" action="email" type="list"/>
      <node name="sslcert" action="sslcert" type="list"/>
      <node name="domain" action="domain" type="list"/>
      <node name="scheduler" action="scheduler" type="list"/>
      </node>
    <node name="noname_file" type="noname">
      <node name="backup2.superlist" action="backup2.superlist" type="list"/>
      <node name="file" noapi="yes" action="file" type="list"/>
    </node>
    <node name="noname_user" type="noname">
      <node name="user" action="user" type="list"/>
      <node name="ftp.user" action="ftp.user" type="list"/>
    </node>
    <node name="set">
      <node name="websettings" action="websettings" type="form"/>
      <node name="srvparam" action="srvparam" type="form"/>
      <node name="feature" action="feature" type="list"/>
      <node name="phpversions" action="phpversions" type="list"/>
      <node name="ipaddrlist" action="ipaddrlist" type="list"/>
      <node name="aps.catalog" action="aps.catalog" type="list"/>
      <node name="dns.blacklist" action="dns.blacklist" type="list"/>
      <node name="emailnotify" action="emailnotify" type="form"/>
      <node name="panelsettings" action="panelsettings" type="form"/>
    </node>
  </modernmenu>
</mainmenu>

Контекстное меню

Контекстное меню описывается ниже панели кнопок (toolbar) на том же уровне. Описание контекстного меню переопределяет автоматическое формирование контекстного меню на основе панели кнопок.

Узел toolgrp создаёт новую группу, в которой будут расположены элементы меню. Группы разделяются горизонтальной линией.

Пример описания

<contextmenu>
  <toolgrp name="go">
    <toolbtn name="go" func="webdomain.go" type="window" img="t-insert" sprite="yes" spritesvg="yes"/>
    <toolbtn name="go_db" func="site.db.redirect" type="window" img="t-insert" sprite="yes" spritesvg="yes">
      <hide name="database" value="Not used"/>
    </toolbtn>
  </toolgrp>
  <toolgrp name="edit">
    <toolbtn name="edit" func="site.edit" type="edit" img="t-edit" default="yes" sprite="yes" spritesvg="yes"/>
    <toolbtn name="php" func="phpconf" type="editlist" img="t-editlist" sprite="yes" spritesvg="yes">
      <show name="php_mode" value="FastCGI (Nginx + PHP-FPM)"/>
      <show name="cgi_site_settings" value="on"/>
      <show name="php_mode" value="Apache"/>
    </toolbtn>
  </toolgrp>
</contextmenu>

Разделитель групп кнопок

Чтобы добавить разделитель между группами кнопок, добавьте узел: 

<toolgrp name="back_btn_sep" separator="yes"/>

separator — атрибут, отвечающий за разделение групп

name — атрибут, используемый в служебных целях

Раскрывающаяся группа

Чтобы описать раскрывающуюся группу, укажите в описании группы атрибут collapsed="yes".

Пример описания

<toolgrp name="management" img="t-emailmanage" collapsed="yes" sprite="yes" spritesvg="yes">
  <toolbtn name="edit" func="email.edit" type="edit" img="t-edit" default="yes" sprite="yes" spritesvg="yes"/>
  <toolbtn name="setting" func="email.setting" type="edit" img="t-attr" sprite="yes" spritesvg="yes"/>
  <toolbtn name="clear" func="email.clear" type="group" img="t-mail-clear" sprite="yes" spritesvg="yes"/>
  <toolbtn name="delete" func="email.delete" type="group" img="t-delete" sprite="yes" spritesvg="yes"/>
</toolgrp>

Кнопка в верхнем правом углу

Чтобы разместить кнопку в верхнем правом углу, укажите в описании кнопки атрибут detached="yes". Обычно такое размещение кнопки используется для создания сущностей.

Пример описания

<toolbtn name="new" func="emaildomain.edit" type="new" img="t-new" detached="yes"/>