Я работаю над модулем расширения VTiger 6.4.0, который используется для получения данных компании при вводе имени компании в модуле Учетные записи.Модуль расширения VTiger создает настраиваемое поле для модуля учетных записей
Модуль почти закончен, я извлекаю данные из API и вводя их в поля ввода с помощью JQuery.
Но проблема в том, что у меня есть некоторые данные, которые не относятся к существующим полям в информации об учетной записи, поэтому я пытаюсь создать несколько новых настраиваемых полей.
Только я не могу понять, как создать настраиваемое поле для модуля учетных записей из моего модуля расширения.
Я googled вокруг и наблюдал за некоторыми сообщениями в stackoverflow.
Я придумал следующую часть кода, но это, похоже, не работает.
public function addKvkfield(){
$module = new Vtiger_Module();
$module->name = 'Accounts';
$module = $module->getInstance('Accounts');
$blockInstance = new Vtiger_Block();
$blockInstance->label = 'LBL_ACCOUNT_INFORMATION';
$blockInstance = $blockInstance->getInstance($blockInstance->label,$module);
$fieldInstance = new Vtiger_Field();
$fieldInstance->name = 'KvKNummer';
$fieldInstance->table = $module->basetable;
$fieldInstance->column = 'kvknummer';
$fieldInstance->columntype = 'VARCHAR(100)';
$fieldInstance->uitype = 2;
$fieldInstance->typeofdata = 'V~M';
$blockInstance->addField($fieldInstance);
}
Функция addKvkfield вызывается в vtlib_handler module.postinstall (Не удалось найти какую-либо информацию, если это правильный способ сделать это в модуле Extenstion)
vtlibhandler:
function vtlib_handler($modulename, $event_type) {
global $log;
if($event_type == 'module.postinstall') {
$this->addJSLinks();
$this->createConfigTable();
$this->addSettingsMenu();
$this->addKvkfield();
$this->updateLabels();
// TODO Handle post installation actions
} else if($event_type == 'module.disabled') {
// TODO Handle actions when this module is disabled.
} else if($event_type == 'module.enabled') {
// TODO Handle actions when this module is enabled.
} else if($event_type == 'module.preuninstall') {
// TODO Handle actions when this module is about to be deleted.
} else if($event_type == 'module.preupdate') {
// TODO Handle actions before this module is updated.
} else if($event_type == 'module.postupdate') {
$this->updateLabels();
// TODO Handle actions after this module is updated.
}
}
Надеюсь, кто-то может дать мне толчок в правильном направлении.
Заранее спасибо :)