Изменение интерфейса

Материал из ISPWiki

Перейти к: навигация, поиск

Рассмотрим пример скрытия различных элементов интерфейса от пользователя.

Постановка задачи

  • Имеем панель управления BILLmanager
  • Мы хотим убрать из меню пункт про договоры (например, потому что услуги предоставляются на основе публичной оферты)
  • Убрать из настроек плательщика страницу с данными для заключения договора
  • Убрать в списке тикетов колонки "Создано" и "Задержка", например, потому что вы считаете их бесполезными и загромождающими интерфейс.

Действия

1) Создаем файл описания плагина /usr/local/ispmgr/etc/billmgr_mod_hidecontractandtunesupport.xml со следующим содержимым

<?xml version="1.0" encoding="UTF-8"?>
<mgrdata>
  <mainmenu level="5">
    <node name="customer">
      <node name="contract" if="myhide"/>
    </node>
  </mainmenu>
  <metadata name="profile.edit">
    <form>
      <page name="contract" if="myhide"/>
    </form>
  </metadata>
  <metadata name="clienttickets">
    <coldata>
      <col name="delay" if="myhide"/>
      <col name="user" if="myhide"/>
    </coldata>
  </metadata>
</mgrdata>

2) Перезапускаем BILLmanager

Пояснения

В данном примере везде используется возможность указать элементам интерфейса при каких условиях их следует отображать, атрибут if. Прочитать о нем подробнее можно в статье XML, рассказывающей о правилах xml-описаний интерфейсов.

Мы задали невыполнимое условие "myhide", что привело к скрытию элементов. Чтобы указать на какой именно элемент нужно добавить атрибут if, необходимо знать структуру XML-описания интерфейса (можно посмотреть в файле /usr/local/ispmgr/etc/billmgr.xml), а так же правила слияния XML

В конце мы перезапустили панель управления, для того чтобы созданный нами файл billmgr_mod_hidecontractandtunesupport.xml начал обрабатываться.


Смотрите также дополнительный пример

Была ли эта информация полезной? Да | Нет
Личные инструменты