Документация COREmanager

Общее описание modules.xsl

Шаблон modules.xsl отвечает за обработку списков, форм, отчетов. Все элементы интерфейса описываются в теге metadata. Тип элемента интерфейса определяет атрибут @type, который принимает значения list, form, report.

Metadata списков, например, функция journal COREmanager:

<metadata name="journal" type="list" key="id" mgr="core">
  <toolbar view="buttontext">
    <toolbtn func="journal.edit" type="edit" img="t-edit" name="edit" default="yes" sprite="yes"/>
    <toolbtn func="journal.stat" type="list" img="t-credit" name="report" sprite="yes"/>
    <toolbtn func="journal.settings" type="new" img="t-attr" name="settings" sprite="yes"/>
  </toolbar>
  <coldata>
    <col name="time" type="data" sort="alpha" sorted="yes" width="26%"/>
    <col name="user" type="data" sort="alpha" width="9%"/>
    <col name="ip" sort="alpha" type="data" width="40%"/>
    <col name="funcname" sort="alpha" type="data" width="24%"/>
  </coldata>
</metadata>

Metadata форм, например, функция journal.edit COREmanager:

<metadata name="journal.edit" type="form" mgr="core" decorated="yes">
  <form nosubmit="yes">
    <field name="time">
      <input type="text" name="time" readonly="yes"/>
    </field>
    <field name="user">
      <input type="text" name="user" readonly="yes"/>
    </field>
    <field name="ip">
      <input type="text" name="ip" readonly="yes"/>
    </field>
    <field name="funcname">
      <input type="text" name="funcname" readonly="yes"/>
    </field>
    <field name="params">
      <textarea name="params" rows="15" readonly="yes"/>
    </field>
  </form>
</metadata>

Metadata отчетов, например функция journal.stat COREmanager:

<metadata name="journal.stat" type="report" level="30" firstrun="no" mgr="core">
  <toolbar view="buttontext">
    <toolbtn func="journal" type="back" img="t-back" name="back" sprite="yes"/>
  </toolbar>
  <text name="title"/>
  <form>
    <field name="period">
      <select period="yes" name="period">
        <if value="other"/>
        <else hide="periodstart"/>
        <else hide="periodend"/>
      </select>
    </field>
    <field name="periodstart">
      <input type="text" name="periodstart" date="yes"/>
    </field>
    <field name="periodend">
      <input type="text" name="periodend" date="yes"/>
    </field>
  </form>
  <band name="function" psort="funcname">
    <diagram name="func" label="funcname" data="percentage" type="pie"/>
    <col name="funcname" type="data" total="count" link="yes"/>
    <col name="percentage" type="data" sort="digit" sorted="desc"/>
    <band name="user" psort="funcname">
      <diagram name="user" label="username" type="histogram">
        <line data="percentage"/>
      </diagram>
      <col name="username" type="data" total="count"/>
      <col name="percentage" type="data" sort="digit" sorted="desc"/>
    </band>
  </band>
</metadata>

Так же modules.xsl обрабатывает функцию прогесса (progress.get).