1

出于某种原因,我的代码正在生成 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);
4

1 回答 1

5

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

将下面的代码添加到 addField 行。

$block1->addField($field0);
$field0->setRelatedModules(Array('Quotes'));

而且我认为你必须添加字段来表铅表。

所以像这样更新你的代码。

$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'));
于 2013-11-13T06:06:52.880 回答