Добавление своих полей
Материал из ISPWiki
Очень часто возникают ситуации, когда существующих информационных полей не достаточно и хочется хранить какую-то дополнительную информацию. Добавить свое поле относительно просто.
Допустим, нам нужно каждому плательщику ввести дополнительный реквизит "Индивидуальный расчетный счет".
1) Создаем дополнительное поле в базе данных
alter table profile add column selfrs varchar(20);
Примечание: в данный момент поддерживаются поля только тип varchar.
2) Регистрируем созданное поле
insert into extrafield (id, name) select max(id)+1, 'profile.selfrs' from extrafield;
3) Создаем описывающий внешний вид формы XML
<?xml version="1.0" encoding="UTF-8"?>
<mgrdata>
<metadata name="profile.edit">
<form>
<page name="basic">
<field name="selfrs" level="7">
<input type="text" name="selfrs"/>
</field>
</page>
</form>
</metadata>
<lang name="en">
<messages name="profile.edit">
<msg name="selfrs">Personal R/S</msg>
</messages>
</lang>
<lang name="ru">
<messages name="profile.edit">
<msg name="selfrs">Персональный Р/С</msg>
</messages>
</lang>
</mgrdata>
Приведенный выше код записываем в файл /usr/local/ispmgr/etc/billmgr_mod_selfrs.xml
Файл должен соответствовать описанной схеме XML
Посмотреть примеры использования можно изучая /usr/local/ispmgr/etc/billmgr.xml, только не пытайтесь делать в нем какие либо изменения, т.к. при обновлении они будут утеряны.
4) Перезапускаем BILLmanager
killall billmgr
Могут возникнуть ситуации, когда в интерфейсе не отражаются вносимые в XML файл изменения, в этом случае можно попробовать очистить кеш
rm -rf /usr/local/ispmgr/var/.xmlcache/billmgr killall billmgr
