XML description of the Dragon theme interface
This article describes the nodes and attributes for Dragon theme metadata. For general information about XML descriptions of interfaces, see theCOREmanager documentation.
Side menu
The description of the side menu is inside the mainmenu node and inherits its access level.
The attribute type="noname" adds a separator between the groups. The name attribute must be described for service purposes. The other node nodes are described similarly to the mainmenu.
Example of description
<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>
Context menu
The context menu is described below the toolbar on the same level. The context menu description overrides the automatic formation of the context menu based on the button bar.
The toolgrp node creates a new group in which the menu items will be located. The groups are separated by a horizontal line.
Example of description
<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>
Button group separator
To add a separator between groups of buttons, add a node:
<toolgrp name="back_btn_sep" separator="yes"/>
separator — the attribute responsible for separating groups
name — the attribute used for service purposes
Collapsed group
To describe a collapsed group, specify the collapsed="yes" attribute in the group description.
Example of description
<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>
Button in the upper right corner
To place the button in the upper right corner, specify the attribute detached="yes" in the button description. Usually this button placement is used to create entities.
Example of description
<toolbtn name="new" func="emaildomain.edit" type="new" img="t-new" detached="yes"/>