Php URL代码生成";“未定义”;对于vTiger

Php URL代码生成";“未定义”;对于vTiger,php,vtiger,Php,Vtiger,出于某种原因,我的代码正在生成module=undefined: /index.php?module=undefined&action=Popup&html=Popup_picker&form=vtlibPopupView&forfield=Quotes&srcmodule=Leads&forrecord=1695 问题是我直接在脚本中定义模块: $field0->setRelatedModules(Array('Quotes')); 我

出于某种原因,我的代码正在生成module=undefined:

/index.php?module=undefined&action=Popup&html=Popup_picker&form=vtlibPopupView&forfield=Quotes&srcmodule=Leads&forrecord=1695
问题是我直接在脚本中定义模块:

$field0->setRelatedModules(Array('Quotes'));
我做错了什么

以下是我的完整代码:

$Vtiger_Utils_Log = true;
include_once('vtlib/Vtiger/Menu.php');
include_once('vtlib/Vtiger/Module.php');
//(module name without space)
$module = Vtiger_Module::getInstance('Leads');
$module->initWebservice();

// Create Block instance
$block1 = new Vtiger_Block();
$block1 = Vtiger_Block::getInstance('LBL_LEAD_INFORMATION', $module);

$field0 = new Vtiger_Field();
$field0->name = 'quotes';
$field0->column = 'quotes';
$field0->label = 'Test2';
$field0->uitype = 10;
$field0->typeofdata = 'V~O';
//$field0->setRelatedModules(Array('Quotes'));
$field0->setRelatedModules(Array('quotes'));
$block1->addField($field0);

添加字段后,必须设置相关模块。在添加字段之前,不能设置与任何模块的关系

将下面的代码添加到addField行

$block1->addField($field0);
$field0->setRelatedModules(Array('Quotes'));
而且我认为您必须在lead表中添加字段

所以像这样更新你的代码

$field0 = new Vtiger_Field();
$field0->name = 'quotes';
$field0->column = 'quotes';
$field0->table = $module->basetable; 
$field0->label = 'Test2';
$field0->uitype = 10;
$field0->typeofdata = 'V~O';
$block1->addField($field0);
$field0->setRelatedModules(Array('Quotes'));

添加字段后,必须设置相关模块。在添加字段之前,不能设置与任何模块的关系

将下面的代码添加到addField行

$block1->addField($field0);
$field0->setRelatedModules(Array('Quotes'));
而且我认为您必须在lead表中添加字段

所以像这样更新你的代码

$field0 = new Vtiger_Field();
$field0->name = 'quotes';
$field0->column = 'quotes';
$field0->table = $module->basetable; 
$field0->label = 'Test2';
$field0->uitype = 10;
$field0->typeofdata = 'V~O';
$block1->addField($field0);
$field0->setRelatedModules(Array('Quotes'));

感谢Milan的回答,这会生成一个弹出窗口,但当我尝试从弹出窗口中选择一个值时,该字段不会填充。此外,它仍然会显示“module=undefined”确定,然后从vtiger_字段表中获取字段id号,转到vtiger_字段Modulere表,检查该字段是否有任何条目?如果是,那么您可能在编码方面有问题。编码方面的问题在哪里?我已经将其添加到vtiger_FieldModuler中,感谢米兰的回答。这会生成一个弹出窗口,但当我尝试从此弹出窗口中选择一个值时,该字段不会填充。此外,它仍然显示“模块=未定义”好的,然后从vtiger_字段表中获取字段id号,转到vtiger_字段模块表,检查该字段是否有任何条目?如果是,那么您可能在编码方面有问题。编码方面的问题在哪里?我已将其添加到vtiger_FieldModulere