Статья содержит описание узлов и атрибутов для метаданных темы 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>
XML

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


Контекстное меню описывается ниже панели кнопок (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>
XML

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


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

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

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>
XML

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


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

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

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